Re: [PATCH v3 2/2] mtd: rawnand: ingenic: Limit MTD_NAND_JZ4780 to architecture only

From: Paul Cercueil
Date: Sun Jul 26 2020 - 12:20:48 EST




Le dim. 26 juil. 2020 à 18:15, Krzysztof Kozlowski <krzk@xxxxxxxxxx> a écrit :
On Sun, Jul 26, 2020 at 06:12:27PM +0200, Paul Cercueil wrote:


Le dim. 26 juil. 2020 à 18:06, Krzysztof Kozlowski <krzk@xxxxxxxxxx> a écrit
:
> On Sat, Jul 25, 2020 at 08:30:56PM +0200, Arnd Bergmann wrote:
> > On Sat, Jul 25, 2020 at 2:17 PM Paul Cercueil
> > <paul@xxxxxxxxxxxxxxx> wrote:
> > > Le ven. 24 juil. 2020 à 17:54, Krzysztof Kozlowski
> > <krzk@xxxxxxxxxx> 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@xxxxxxxxxx> a écrit:
> > > >> > On Fri, 24 Jul 2020 at 17:19, Paul Cercueil
> > <paul@xxxxxxxxxxxxxxx>
> > > >> > 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.
>
> I would say even more - no DTS would be provided for such configuration.
> All Ingenic DTSes are included only with MACH_INGENIC. You cannot build
> a kernel working on Ingenic without MACH_INGENIC. Even in theory.

But the devicetree doesn't have to be built-in.


OK, that's true. Anyway, I don't have strong opinion on any of this. I
just followed Arnd's hint.

For the memory driver (and MTD NAND as well) which one you prefer:
1. https://lore.kernel.org/lkml/20200724074038.5597-6-krzk@xxxxxxxxxx/
2. depends on MACH_INGENIC || MIPS_GENERIC || COMPILE_TEST

?

I'd say a slightly modified #1. The driver shouldn't be "default y" in the first place, so the patch could be to disable it by default. And when the Ingenic code is merged into the MIPS generic framework, I'll send a set of patches to change all driver dependencies on MIPS to MIPS_GENERIC.

-Paul