[PATCH] mtd/memory: omap: Fix build dependencies

Roger Quadros rogerq at kernel.org
Wed Feb 9 06:39:53 PST 2022


Hi,

On 09/02/2022 15:57, Nishanth Menon wrote:
> On 11:56-20220127, Miquel Raynal wrote:
>> The Omap2 raw NAND controller (MTD_NAND_OMAP2) selects the Omap memory
>> controller (OMAP_GPMC) for the ARCH_K3 platforms and for compile
>> testing.
>>
>> The Omap memory controller (OMAP_GPMC) depends on OF_ADDRESS because the
>> driver uses of_address_to_resource().
>>
>> This may produce the following warning:
>> WARNING: unmet direct dependencies detected for OMAP_GPMC
>> Depends on [n]:
>>   - MEMORY [=y] && OF_ADDRESS [=n]
>> Selected by [m]:
>>   - MTD_NAND_OMAP2 [=m] && MTD [=m] && MTD_RAW_NAND [=m] &&
>>     (ARCH_OMAP2PLUS || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST [=y]) &&
>>     HAS_IOMEM [=y]
>>
>> As the of_address_to_resource() helper has a dummy implementation
>> returning an error when OF_ADDRESS is not selected, we do not need to
>> select OF_ADDRESS from the OMAP_GPMC Kconfig menu for compile testing
>> purposes. Nor we actually do for K3 platforms, but in order to not break
>> these platforms we can just select OF_ADDRESS from ARCH_K3 directly.
>>
>> Fixes: dbcb124acebd ("mtd: rawnand: omap2: Select GPMC device driver for ARCH_K3")
>> Reported-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
>> Suggested-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
>> Signed-off-by: Miquel Raynal <miquel.raynal at bootlin.com>
>> ---
>>  arch/arm64/Kconfig.platforms | 1 +
>>  drivers/memory/Kconfig       | 1 -
>>  2 files changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
>> index 7d5d58800170..1a0d4b575b95 100644
>> --- a/arch/arm64/Kconfig.platforms
>> +++ b/arch/arm64/Kconfig.platforms
>> @@ -123,6 +123,7 @@ config ARCH_K3
>>  	select TI_SCI_INTR_IRQCHIP
>>  	select TI_SCI_INTA_IRQCHIP
>>  	select TI_K3_SOCINFO
>> +	select OF_ADDRESS
> 
> I understand the build failure, but, I don't see any other SoC selecting
> OF_ADDRESS because a driver has a problem?
> 
> 
>>  	help
>>  	  This enables support for Texas Instruments' K3 multicore SoC
>>  	  architecture.
>> diff --git a/drivers/memory/Kconfig b/drivers/memory/Kconfig
>> index 30bff6cb1b8d..241f0925cbf1 100644
>> --- a/drivers/memory/Kconfig
>> +++ b/drivers/memory/Kconfig
>> @@ -104,7 +104,6 @@ config TI_EMIF
>>  
>>  config OMAP_GPMC
>>  	bool "Texas Instruments OMAP SoC GPMC driver" if COMPILE_TEST
>> -	depends on OF_ADDRESS
> 
> Thoughts Roger?

OMAP_GPMC is not visible entry so someone has to select it.
We first tried selecting it in ARCH_K3 but that was not accepted for fair reason.
Then we tried to select it from MTD_NAND_OMAP2 and it caused the issue this patch is trying to fix.

Only other option left is to make OMAP_GPMC a visible entry and just mark MTD_NAND_OMAP2 to depend on it?
The relevant SoC defconfig files can enable OMAP_GPMC and MTD_NAND_OMAP2.

Does this sound ok?

>>  	select GPIOLIB
>>  	help
>>  	  This driver is for the General Purpose Memory Controller (GPMC)
>> -- 
>> 2.27.0
>>
>>
>> ______________________________________________________
>> Linux MTD discussion mailing list
>> http://lists.infradead.org/mailman/listinfo/linux-mtd/
> 

cheers,
-roger



More information about the linux-arm-kernel mailing list