Messages in this thread |  | | From | Arnd Bergmann <> | Date | Sat, 25 Jul 2020 20:30:56 +0200 | Subject | Re: [PATCH v3 2/2] mtd: rawnand: ingenic: Limit MTD_NAND_JZ4780 to architecture only |
| |
On Sat, Jul 25, 2020 at 2:17 PM Paul Cercueil <paul@crapouillou.net> wrote: > Le ven. 24 juil. 2020 à 17:54, Krzysztof Kozlowski <krzk@kernel.org> a > écrit : > > On Fri, Jul 24, 2020 at 05:50:06PM +0200, Paul Cercueil wrote: > >> Le ven. 24 juil. 2020 à 17:33, Krzysztof Kozlowski > >> <krzk@kernel.org> a écrit: > >> > On Fri, 24 Jul 2020 at 17:19, Paul Cercueil <paul@crapouillou.net> > >> > wrote: > >> > >> On MIPS, the SoC selection is a Kconfig "choice", so you can only > >> support > >> one SoC family, unfortunately. > > > > Let's say someone selected then some other architecture > > (MIPS_ALCHEMY). > > They could select this MTD driver. > > > > Does it mean they would be able to run it on Ingenic hardware? > > In *theory* yes, as long as the Kconfig options that MACH_INGENIC > selects are enabled, the kernel should boot and work on Ingenic SoCs.
Right now, this won't work yet, because there are platform specific functions that are implemented by each of the platforms in arch/mips, e.g. arch/mips/generic/init.c and arch/mips/jz4740/setup.c.
A lot of the newer platforms are part of arch/mips/generic (CONFIG_MIPS_GENERIC), which roughly corresponds to CONFIG_ARCH_MULTIPLATFORM on in arch/arm/. Similarly, there are header files in arch/mips/include/asm/mach-*/ that conflict and you need to have the right one.
To have more than one platform enabled, each one needs to have all of that platform code converted to fit into the MIPS_GENERIC framework. This can be a lot of work, but I suppose the ingenic platform would be a candidate for which this makes sense, as long as new SoCs of that family still come out.
Arnd
|  |