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

From: Guenter Roeck
Date: Sat Feb 19 2022 - 10:08:56 EST


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
> help
> Support for NAND flash on Texas Instruments OMAP2, OMAP3, OMAP4
> and Keystone platforms.
> --
> 2.17.1
>