2022-01-20 09:09:17

by Roger Quadros

[permalink] [raw]
Subject: [PATCH] mtd: rawnand: omap2: Prevent invalid configuration and build error

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 <[email protected]>
Signed-off-by: Roger Quadros <[email protected]>
---
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


2022-01-20 14:33:24

by Krzysztof Kozlowski

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

On 18/01/2022 13:35, 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 <[email protected]>
> Signed-off-by: Roger Quadros <[email protected]>
> ---
> drivers/mtd/nand/raw/Kconfig | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>


Reviewed-by: Krzysztof Kozlowski <[email protected]>


Best regards,
Krzysztof

2022-01-24 09:15:02

by Miquel Raynal

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

On Tue, 2022-01-18 at 12:35:25 UTC, 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 <[email protected]>
> Signed-off-by: Roger Quadros <[email protected]>
> Reviewed-by: Krzysztof Kozlowski <[email protected]>

Applied to https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git mtd/next, thanks.

Miquel

2022-01-24 09:43:20

by Miquel Raynal

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


[email protected] wrote on Sun, 23 Jan 2022 16:23:01 +0100:

> On Tue, 2022-01-18 at 12:35:25 UTC, 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 <[email protected]>
> > Signed-off-by: Roger Quadros <[email protected]>
> > Reviewed-by: Krzysztof Kozlowski <[email protected]>
>
> Applied to https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git mtd/next, thanks.

Pushed on mtd/fixes, actually.

2022-02-20 14:37:23

by Roger Quadros

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

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 <[email protected]>
>> Signed-off-by: Roger Quadros <[email protected]>
>
> 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

2022-02-20 15:33:32

by Guenter Roeck

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

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 <[email protected]>
> Signed-off-by: Roger Quadros <[email protected]>

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
>