Re: [PATCH] mtd: rawnand: omap2: Prevent invalid configuration and build error

From: Roger Quadros
Date: Sat Feb 19 2022 - 14:12:00 EST


Hi,

On 19/02/2022 17:08, Guenter Roeck wrote:
> On Tue, Jan 18, 2022 at 02:35:25PM +0200, Roger Quadros wrote:
>> We need to select MEMORY as well otherwise OMAP_GPMC will not be built.
>> For simplicity let's select MEMORY and OMAP_GPMC unconditionally as
>> this driver depends on OMAP_GPMC driver and uses symbols from there.
>>
>> Fixes: dbcb124acebd ("mtd: rawnand: omap2: Select GPMC device driver for ARCH_K3")
>> Reported-by: kernel test robot <lkp@xxxxxxxxx>
>> Signed-off-by: Roger Quadros <rogerq@xxxxxxxxxx>
>
> This patch ignores OMAP_GPMC dependencies and results in:
>
> 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]
>
> when configuring sparc64:allmodconfig, and in the following
> build failure when trying to build that image.
>
> Building sparc64:allmodconfig ... failed
> --------------
> Error log:
> <stdin>:1517:2: warning: #warning syscall clone3 not implemented [-Wcpp]
> sparc64-linux-ld: drivers/memory/omap-gpmc.o: in function `gpmc_probe_generic_child':
> omap-gpmc.c:(.text.unlikely+0x14c4): undefined reference to `of_platform_device_create'
>
> Guenter
>
>> ---
>> drivers/mtd/nand/raw/Kconfig | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/mtd/nand/raw/Kconfig b/drivers/mtd/nand/raw/Kconfig
>> index 20408b7db540..d986ab4e4c35 100644
>> --- a/drivers/mtd/nand/raw/Kconfig
>> +++ b/drivers/mtd/nand/raw/Kconfig
>> @@ -42,7 +42,8 @@ config MTD_NAND_OMAP2
>> tristate "OMAP2, OMAP3, OMAP4 and Keystone NAND controller"
>> depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST
>> depends on HAS_IOMEM
>> - select OMAP_GPMC if ARCH_K3
>> + select MEMORY
>> + select OMAP_GPMC

I think selecting these was a bad idea in the first place. I'll send out a patch to remove the selects.
This driver should depend on them instead.

We will figure out how to enable OMAP_GPMC for K3 architecture some other way.

>> help
>> Support for NAND flash on Texas Instruments OMAP2, OMAP3, OMAP4
>> and Keystone platforms.
>> --
>> 2.17.1
>>

cheers,
-roger