On 29/06/19 9:32 PM, Mauro Carvalho Chehab wrote: > Em Sat, 29 Jun 2019 21:26:29 +0530 > Vandana BN <bnvandana@xxxxxxxxx> escreveu: > >> On 29/06/19 8:20 PM, Mauro Carvalho Chehab wrote: >>> Em Sat, 29 Jun 2019 20:02:45 +0530 >>> Vandana BN <bnvandana@xxxxxxxxx> escreveu: >>> >>>> This patch converts new-machine.txt and register-banks.txt >>>> to ReST format, No content change. >>>> Added interfaces.rst to contain kernel-doc markups from index.rst >>>> Added interfaces.rst,new-machine.rst and register-banks.rst to sh/index.rst >>>> Added SPDX tag in index.rst >>>> >>>> Signed-off-by: Vandana BN <bnvandana@xxxxxxxxx> >>> Looks good to me. Just a final thing to do. >>> >>> Be sure to run: >>> >>> ./scripts/documentation-file-ref-check >>> >>> in order to check that you're not breaking any references to the file. >>> If it breaks, please adjust the reference to reflect the file >>> rename. >>> >>> After fixing the broken reference, feel free do add: >>> >>> Reviewed-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> >> Thanks Mauro, >> >> i don't not see any broken references. > Then maybe the script is broken. A simple grep here (linux-next) shows > one such reference: > > git grep Documentation/sh/ > MAINTAINERS:F: Documentation/sh/ > arch/sh/Kconfig.cpu: See <file:Documentation/sh/register-banks.txt> for further > Oh ok, yes i see it now.. Will fix and send a patch. >>>> --- >>>> Documentation/sh/index.rst | 65 +------ >>>> Documentation/sh/interface.rst | 59 ++++++ >>>> .../sh/{new-machine.txt => new-machine.rst} | 171 +++++++++--------- >>>> ...{register-banks.txt => register-banks.rst} | 8 +- >>>> 4 files changed, 163 insertions(+), 140 deletions(-) >>>> create mode 100644 Documentation/sh/interface.rst >>>> rename Documentation/sh/{new-machine.txt => new-machine.rst} (79%) >>>> rename Documentation/sh/{register-banks.txt => register-banks.rst} (90%) >>>> >>>> diff --git a/Documentation/sh/index.rst b/Documentation/sh/index.rst >>>> index bc8db7ba894a..fec3c405b6b9 100644 >>>> --- a/Documentation/sh/index.rst >>>> +++ b/Documentation/sh/index.rst >>>> @@ -1,59 +1,14 @@ >>>> -======================= >>>> -SuperH Interfaces Guide >>>> -======================= >>>> +.. SPDX-License-Identifier: GPL-2.0 >>>> >>>> -:Author: Paul Mundt >>>> - >>>> -Memory Management >>>> -================= >>>> - >>>> -SH-4 >>>> ----- >>>> - >>>> -Store Queue API >>>> -~~~~~~~~~~~~~~~ >>>> - >>>> -.. kernel-doc:: arch/sh/kernel/cpu/sh4/sq.c >>>> - :export: >>>> - >>>> -SH-5 >>>> ----- >>>> - >>>> -TLB Interfaces >>>> -~~~~~~~~~~~~~~ >>>> - >>>> -.. kernel-doc:: arch/sh/mm/tlb-sh5.c >>>> - :internal: >>>> - >>>> -.. kernel-doc:: arch/sh/include/asm/tlb_64.h >>>> - :internal: >>>> +==================== >>>> +SuperH Documentation >>>> +==================== >>>> >>>> -Machine Specific Interfaces >>>> -=========================== >>>> - >>>> -mach-dreamcast >>>> --------------- >>>> - >>>> -.. kernel-doc:: arch/sh/boards/mach-dreamcast/rtc.c >>>> - :internal: >>>> - >>>> -mach-x3proto >>>> ------------- >>>> - >>>> -.. kernel-doc:: arch/sh/boards/mach-x3proto/ilsel.c >>>> - :export: >>>> - >>>> -Busses >>>> -====== >>>> - >>>> -SuperHyway >>>> ----------- >>>> - >>>> -.. kernel-doc:: drivers/sh/superhyway/superhyway.c >>>> - :export: >>>> +:Author: Paul Mundt >>>> >>>> -Maple >>>> ------ >>>> +.. toctree:: >>>> + :maxdepth: 2 >>>> >>>> -.. kernel-doc:: drivers/sh/maple/maple.c >>>> - :export: >>>> + interface >>>> + new-machine >>>> + register-banks >>>> diff --git a/Documentation/sh/interface.rst b/Documentation/sh/interface.rst >>>> new file mode 100644 >>>> index 000000000000..bc8db7ba894a >>>> --- /dev/null >>>> +++ b/Documentation/sh/interface.rst >>>> @@ -0,0 +1,59 @@ >>>> +======================= >>>> +SuperH Interfaces Guide >>>> +======================= >>>> + >>>> +:Author: Paul Mundt >>>> + >>>> +Memory Management >>>> +================= >>>> + >>>> +SH-4 >>>> +---- >>>> + >>>> +Store Queue API >>>> +~~~~~~~~~~~~~~~ >>>> + >>>> +.. kernel-doc:: arch/sh/kernel/cpu/sh4/sq.c >>>> + :export: >>>> + >>>> +SH-5 >>>> +---- >>>> + >>>> +TLB Interfaces >>>> +~~~~~~~~~~~~~~ >>>> + >>>> +.. kernel-doc:: arch/sh/mm/tlb-sh5.c >>>> + :internal: >>>> + >>>> +.. kernel-doc:: arch/sh/include/asm/tlb_64.h >>>> + :internal: >>>> + >>>> +Machine Specific Interfaces >>>> +=========================== >>>> + >>>> +mach-dreamcast >>>> +-------------- >>>> + >>>> +.. kernel-doc:: arch/sh/boards/mach-dreamcast/rtc.c >>>> + :internal: >>>> + >>>> +mach-x3proto >>>> +------------ >>>> + >>>> +.. kernel-doc:: arch/sh/boards/mach-x3proto/ilsel.c >>>> + :export: >>>> + >>>> +Busses >>>> +====== >>>> + >>>> +SuperHyway >>>> +---------- >>>> + >>>> +.. kernel-doc:: drivers/sh/superhyway/superhyway.c >>>> + :export: >>>> + >>>> +Maple >>>> +----- >>>> + >>>> +.. kernel-doc:: drivers/sh/maple/maple.c >>>> + :export: >>>> diff --git a/Documentation/sh/new-machine.txt b/Documentation/sh/new-machine.rst >>>> similarity index 79% >>>> rename from Documentation/sh/new-machine.txt >>>> rename to Documentation/sh/new-machine.rst >>>> index e0961a66130b..b16c33342642 100644 >>>> --- a/Documentation/sh/new-machine.txt >>>> +++ b/Documentation/sh/new-machine.rst >>>> @@ -1,8 +1,8 @@ >>>> +================================ >>>> +Adding a new board to LinuxSH >>>> +================================ >>>> >>>> - Adding a new board to LinuxSH >>>> - ================================ >>>> - >>>> - Paul Mundt <lethal@xxxxxxxxxxxx> >>>> +Paul Mundt <lethal@xxxxxxxxxxxx> >>>> >>>> This document attempts to outline what steps are necessary to add support >>>> for new boards to the LinuxSH port under the new 2.5 and 2.6 kernels. This >>>> @@ -19,65 +19,67 @@ include/asm-sh/. For the new kernel, things are broken out by board type, >>>> companion chip type, and CPU type. Looking at a tree view of this directory >>>> hierarchy looks like the following: >>>> >>>> -Board-specific code: >>>> - >>>> -. >>>> -|-- arch >>>> -| `-- sh >>>> -| `-- boards >>>> -| |-- adx >>>> -| | `-- board-specific files >>>> -| |-- bigsur >>>> -| | `-- board-specific files >>>> -| | >>>> -| ... more boards here ... >>>> -| >>>> -`-- include >>>> - `-- asm-sh >>>> - |-- adx >>>> - | `-- board-specific headers >>>> - |-- bigsur >>>> - | `-- board-specific headers >>>> - | >>>> - .. more boards here ... >>>> - >>>> -Next, for companion chips: >>>> -. >>>> -`-- arch >>>> - `-- sh >>>> - `-- cchips >>>> - `-- hd6446x >>>> - `-- hd64461 >>>> - `-- cchip-specific files >>>> +Board-specific code:: >>>> + >>>> + . >>>> + |-- arch >>>> + | `-- sh >>>> + | `-- boards >>>> + | |-- adx >>>> + | | `-- board-specific files >>>> + | |-- bigsur >>>> + | | `-- board-specific files >>>> + | | >>>> + | ... more boards here ... >>>> + | >>>> + `-- include >>>> + `-- asm-sh >>>> + |-- adx >>>> + | `-- board-specific headers >>>> + |-- bigsur >>>> + | `-- board-specific headers >>>> + | >>>> + .. more boards here ... >>>> + >>>> +Next, for companion chips:: >>>> + >>>> + . >>>> + `-- arch >>>> + `-- sh >>>> + `-- cchips >>>> + `-- hd6446x >>>> + `-- hd64461 >>>> + `-- cchip-specific files >>>> >>>> ... and so on. Headers for the companion chips are treated the same way as >>>> board-specific headers. Thus, include/asm-sh/hd64461 is home to all of the >>>> hd64461-specific headers. >>>> >>>> -Finally, CPU family support is also abstracted: >>>> -. >>>> -|-- arch >>>> -| `-- sh >>>> -| |-- kernel >>>> -| | `-- cpu >>>> -| | |-- sh2 >>>> -| | | `-- SH-2 generic files >>>> -| | |-- sh3 >>>> -| | | `-- SH-3 generic files >>>> -| | `-- sh4 >>>> -| | `-- SH-4 generic files >>>> -| `-- mm >>>> -| `-- This is also broken out per CPU family, so each family can >>>> -| have their own set of cache/tlb functions. >>>> -| >>>> -`-- include >>>> - `-- asm-sh >>>> - |-- cpu-sh2 >>>> - | `-- SH-2 specific headers >>>> - |-- cpu-sh3 >>>> - | `-- SH-3 specific headers >>>> - `-- cpu-sh4 >>>> - `-- SH-4 specific headers >>>> +Finally, CPU family support is also abstracted:: >>>> + >>>> + . >>>> + |-- arch >>>> + | `-- sh >>>> + | |-- kernel >>>> + | | `-- cpu >>>> + | | |-- sh2 >>>> + | | | `-- SH-2 generic files >>>> + | | |-- sh3 >>>> + | | | `-- SH-3 generic files >>>> + | | `-- sh4 >>>> + | | `-- SH-4 generic files >>>> + | `-- mm >>>> + | `-- This is also broken out per CPU family, so each family can >>>> + | have their own set of cache/tlb functions. >>>> + | >>>> + `-- include >>>> + `-- asm-sh >>>> + |-- cpu-sh2 >>>> + | `-- SH-2 specific headers >>>> + |-- cpu-sh3 >>>> + | `-- SH-3 specific headers >>>> + `-- cpu-sh4 >>>> + `-- SH-4 specific headers >>>> >>>> It should be noted that CPU subtypes are _not_ abstracted. Thus, these still >>>> need to be dealt with by the CPU family specific code. >>>> @@ -112,18 +114,20 @@ setup code, we're required at the very least to provide definitions for >>>> get_system_type() and platform_setup(). For our imaginary board, this >>>> might look something like: >>>> >>>> -/* >>>> - * arch/sh/boards/vapor/setup.c - Setup code for imaginary board >>>> - */ >>>> -#include <linux/init.h> >>>> +.. code-block:: c >>>> + >>>> + /* >>>> + * arch/sh/boards/vapor/setup.c - Setup code for imaginary board >>>> + */ >>>> + #include <linux/init.h> >>>> >>>> -const char *get_system_type(void) >>>> -{ >>>> - return "FooTech Vaporboard"; >>>> -} >>>> + const char *get_system_type(void) >>>> + { >>>> + return "FooTech Vaporboard"; >>>> + } >>>> >>>> -int __init platform_setup(void) >>>> -{ >>>> + int __init platform_setup(void) >>>> + { >>>> /* >>>> * If our hardware actually existed, we would do real >>>> * setup here. Though it's also sane to leave this empty >>>> @@ -136,7 +140,8 @@ int __init platform_setup(void) >>>> /* And whatever else ... */ >>>> >>>> return 0; >>>> -} >>>> + } >>>> + >>>> >>>> Our new imaginary board will also have to tie into the machvec in order for it >>>> to be of any use. >>>> @@ -172,16 +177,17 @@ sufficient. >>>> vector. >>>> >>>> Note that these prototypes are generated automatically by setting >>>> - __IO_PREFIX to something sensible. A typical example would be: >>>> + __IO_PREFIX to something sensible. A typical example would be:: >>>> >>>> #define __IO_PREFIX vapor >>>> #include <asm/io_generic.h> >>>> >>>> + >>>> somewhere in the board-specific header. Any boards being ported that still >>>> have a legacy io.h should remove it entirely and switch to the new model. >>>> >>>> - Add machine vector definitions to the board's setup.c. At a bare minimum, >>>> - this must be defined as something like: >>>> + this must be defined as something like:: >>>> >>>> struct sh_machine_vector mv_vapor __initmv = { >>>> .mv_name = "vapor", >>>> @@ -202,11 +208,11 @@ Large portions of the build system are now entirely dynamic, and merely >>>> require the proper entry here and there in order to get things done. >>>> >>>> The first thing to do is to add an entry to arch/sh/Kconfig, under the >>>> -"System type" menu: >>>> +"System type" menu:: >>>> >>>> -config SH_VAPOR >>>> - bool "Vapor" >>>> - help >>>> + config SH_VAPOR >>>> + bool "Vapor" >>>> + help >>>> select Vapor if configuring for a FooTech Vaporboard. >>>> >>>> next, this has to be added into arch/sh/Makefile. All boards require a >>>> @@ -232,6 +238,8 @@ space restating it here. After this is done, you will be able to use >>>> implicit checks for your board if you need this somewhere throughout the >>>> common code, such as: >>>> >>>> +:: >>>> + >>>> /* Make sure we're on the FooTech Vaporboard */ >>>> if (!mach_is_vapor()) >>>> return -ENODEV; >>>> @@ -253,12 +261,13 @@ build target, and it will be implicitly listed as such in the help text. >>>> Looking at the 'make help' output, you should now see something like: >>>> >>>> Architecture specific targets (sh): >>>> - zImage - Compressed kernel image (arch/sh/boot/zImage) >>>> - adx_defconfig - Build for adx >>>> - cqreek_defconfig - Build for cqreek >>>> - dreamcast_defconfig - Build for dreamcast >>>> -... >>>> - vapor_defconfig - Build for vapor >>>> + >>>> + - zImage - Compressed kernel image (arch/sh/boot/zImage) >>>> + - adx_defconfig - Build for adx >>>> + - cqreek_defconfig - Build for cqreek >>>> + - dreamcast_defconfig - Build for dreamcast >>>> + - ... >>>> + - vapor_defconfig - Build for vapor >>>> >>>> which then allows you to do: >>>> >>>> diff --git a/Documentation/sh/register-banks.txt b/Documentation/sh/register-banks.rst >>>> similarity index 90% >>>> rename from Documentation/sh/register-banks.txt >>>> rename to Documentation/sh/register-banks.rst >>>> index a6719f2f6594..acccfaf80355 100644 >>>> --- a/Documentation/sh/register-banks.txt >>>> +++ b/Documentation/sh/register-banks.rst >>>> @@ -1,8 +1,9 @@ >>>> - Notes on register bank usage in the kernel >>>> - ========================================== >>>> +========================================== >>>> +Notes on register bank usage in the kernel >>>> +========================================== >>>> >>>> Introduction >>>> ------------- >>>> +============ >>>> >>>> The SH-3 and SH-4 CPU families traditionally include a single partial register >>>> bank (selected by SR.RB, only r0 ... r7 are banked), whereas other families >>>> @@ -30,4 +31,3 @@ Presently the kernel uses several of these registers. >>>> - The SR.IMASK interrupt handler makes use of this to set the >>>> interrupt priority level (used by local_irq_enable()) >>>> - r7_bank (current) >>>> - >>>> -- >>>> 2.17.1 >>>> >>> >>> Thanks, >>> Mauro >> Regards, >> >> Vandana. >> > > > Thanks, > Mauro Thanks, Vandana.