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

Paul Cercueil paul at crapouillou.net
Mon Jul 27 13:12:32 EDT 2020



Le lun. 27 juil. 2020 à 19:03, Krzysztof Kozlowski <krzk at kernel.org> a 
écrit :
> On Mon, Jul 27, 2020 at 09:55:54AM +0200, Arnd Bergmann wrote:
>>  On Sun, Jul 26, 2020 at 6:20 PM Paul Cercueil 
>> <paul at crapouillou.net> wrote:
>>  > Le dim. 26 juil. 2020 à 18:15, Krzysztof Kozlowski 
>> <krzk at kernel.org> 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 at kernel.org> a écrit
>>   >
>>  > > 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@kernel.org/
>>  > > 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.
>> 
>>  If it defaults to 'n' even for MACH_INGENIC, you may have to enable
>>  it in the four defconfig files for these machines to avoid 
>> surprises.
> 
> Exactly. Nothing else selects JZ4780_NEMC, so either we keep default y
> ("if MACH_INGENIC || MIPS_GENERIC"), or you select it directly from
> MACH_INGENIC/MIPS_GENERIC.
> 
> A related question is how essential are these drivers? At least for 
> ARM
> platforms, all essential SoC blocks/IPs are selected by default, if
> support for chosen SoC is enabled. Only non-essential stuff is left,
> e.g. DRM, cpufreq, devfreq, ADC, crypto, video, USB, eMMC (although 
> one
> could argue that it is essential), IOMMU.

They are only used for NAND access, which is not really essential (some
boards only use MMC storage), that's why I said they shouldn't have been
enabled by default in the first place.

-Paul

> 
>>  > 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.
>> 
>>  The way we do it on Arm, the machine Kconfig identifiers stay around
>>  even for multiplatform targets (which now make up basically actively
>>  maintained machines).
>> 
>>  I don't think it makes any sense for a driver to depend on 
>> MIPS_GENERIC:
>>  either it is a generic driver that should always be visible or it 
>> is specific
>>  to a set of SoCs and should depend on some corresponding vendor
>>  specific identifiers.
> 
> If support for Ingenic is provided also by MIPS_GENERIC (without
> selecting MACH_INGENIC), then it makes sense. This would be just a
> different way than ARM of building multi-platform kernel.
> 
> Best regards,
> Krzysztof





More information about the linux-mtd mailing list