2022-05-09 13:59:45

by Geert Uytterhoeven

[permalink] [raw]
Subject: [PATCH] memory: OMAP_GPMC should depend on ARCH_OMAP2PLUS || ARCH_K3

The Texas Instruments OMAP General Purpose Memory Controller (GPMC) is
only present on TI OMAP2/3/4/5, AM33xx, AM43x, DRA7xx, TI81xx, and K3
SoCs. Hence add a dependency on ARCH_OMAP2PLUS || ARCH_K3, to prevent
asking the user about this driver when configuring a kernel without
OMAP2+ or K3 SoC family support.

Fixes: be34f45f0d4aa91c ("memory: omap-gpmc: Make OMAP_GPMC config visible and selectable")
Signed-off-by: Geert Uytterhoeven <[email protected]>
---
drivers/memory/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/memory/Kconfig b/drivers/memory/Kconfig
index b7800b37af78a996..f00757912e2e4c1e 100644
--- a/drivers/memory/Kconfig
+++ b/drivers/memory/Kconfig
@@ -105,6 +105,7 @@ config TI_EMIF
config OMAP_GPMC
tristate "Texas Instruments OMAP SoC GPMC driver"
depends on OF_ADDRESS
+ depends on ARCH_OMAP2PLUS || ARCH_K3 || COMPILE_TEST
select GPIOLIB
help
This driver is for the General Purpose Memory Controller (GPMC)
--
2.25.1



2022-05-10 08:35:37

by Roger Quadros

[permalink] [raw]
Subject: Re: [PATCH] memory: OMAP_GPMC should depend on ARCH_OMAP2PLUS || ARCH_K3



On 10/05/2022 10:36, Krzysztof Kozlowski wrote:
> On 10/05/2022 09:30, Geert Uytterhoeven wrote:
>> Hi Roger,
>>
>> On Tue, May 10, 2022 at 9:22 AM Roger Quadros <[email protected]> wrote:
>>> On 09/05/2022 16:48, Geert Uytterhoeven wrote:
>>>> The Texas Instruments OMAP General Purpose Memory Controller (GPMC) is
>>>> only present on TI OMAP2/3/4/5, AM33xx, AM43x, DRA7xx, TI81xx, and K3
>>>> SoCs. Hence add a dependency on ARCH_OMAP2PLUS || ARCH_K3, to prevent
>>>> asking the user about this driver when configuring a kernel without
>>>> OMAP2+ or K3 SoC family support.
>>>>
>>>> Fixes: be34f45f0d4aa91c ("memory: omap-gpmc: Make OMAP_GPMC config visible and selectable")
>>>> Signed-off-by: Geert Uytterhoeven <[email protected]>
>>
>>>> --- a/drivers/memory/Kconfig
>>>> +++ b/drivers/memory/Kconfig
>>>> @@ -105,6 +105,7 @@ config TI_EMIF
>>>> config OMAP_GPMC
>>>> tristate "Texas Instruments OMAP SoC GPMC driver"
>>>> depends on OF_ADDRESS
>>>> + depends on ARCH_OMAP2PLUS || ARCH_K3 || COMPILE_TEST
>>>> select GPIOLIB
>>>> help
>>>> This driver is for the General Purpose Memory Controller (GPMC)
>>>
>>> Is there any possibility that CONFIG_IRQ_DOMAIN is not set while both
>>> OF_ADDRESS and COMPILE_TEST are set?
>>>
>>> That particular case will lead to build failures.
>>>
>>> e.g.
>>> https://krzk.eu/#/builders/63/builds/162
>>
>> So it needs an additional dependency on IRQ_DOMAIN.
>> That is a pre-existing problem, not caused by my patch (which adds
>> more dependencies, and doesn't remove any).
>
> Is this really a case here? The failure reported above was for earlier
> version of Roger's patch which was changing to:
> depends on OF_ADDRESS || COMPILE_TEST
>
> Here, OF_ADDRESS will be always a dependency. If it builds in current
> configuration (having only OF_ADDRESS), then adding dependencies should
> not cause more issues.... It only restricts the config, not widens it.
>
> Therefore the patch looks actually correct, but some testing would be
> nice that we don't hit the same issues as before.
>

I'll take care of the tests using lkp of course ;)

cheers,
-roger

2022-05-10 09:29:32

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH] memory: OMAP_GPMC should depend on ARCH_OMAP2PLUS || ARCH_K3

Hi Roger,

On Tue, May 10, 2022 at 9:22 AM Roger Quadros <[email protected]> wrote:
> On 09/05/2022 16:48, Geert Uytterhoeven wrote:
> > The Texas Instruments OMAP General Purpose Memory Controller (GPMC) is
> > only present on TI OMAP2/3/4/5, AM33xx, AM43x, DRA7xx, TI81xx, and K3
> > SoCs. Hence add a dependency on ARCH_OMAP2PLUS || ARCH_K3, to prevent
> > asking the user about this driver when configuring a kernel without
> > OMAP2+ or K3 SoC family support.
> >
> > Fixes: be34f45f0d4aa91c ("memory: omap-gpmc: Make OMAP_GPMC config visible and selectable")
> > Signed-off-by: Geert Uytterhoeven <[email protected]>

> > --- a/drivers/memory/Kconfig
> > +++ b/drivers/memory/Kconfig
> > @@ -105,6 +105,7 @@ config TI_EMIF
> > config OMAP_GPMC
> > tristate "Texas Instruments OMAP SoC GPMC driver"
> > depends on OF_ADDRESS
> > + depends on ARCH_OMAP2PLUS || ARCH_K3 || COMPILE_TEST
> > select GPIOLIB
> > help
> > This driver is for the General Purpose Memory Controller (GPMC)
>
> Is there any possibility that CONFIG_IRQ_DOMAIN is not set while both
> OF_ADDRESS and COMPILE_TEST are set?
>
> That particular case will lead to build failures.
>
> e.g.
> https://krzk.eu/#/builders/63/builds/162

So it needs an additional dependency on IRQ_DOMAIN.
That is a pre-existing problem, not caused by my patch (which adds
more dependencies, and doesn't remove any).

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2022-05-10 11:39:33

by Roger Quadros

[permalink] [raw]
Subject: Re: [PATCH] memory: OMAP_GPMC should depend on ARCH_OMAP2PLUS || ARCH_K3

Geert,

On 10/05/2022 10:30, Geert Uytterhoeven wrote:
> Hi Roger,
>
> On Tue, May 10, 2022 at 9:22 AM Roger Quadros <[email protected]> wrote:
>> On 09/05/2022 16:48, Geert Uytterhoeven wrote:
>>> The Texas Instruments OMAP General Purpose Memory Controller (GPMC) is
>>> only present on TI OMAP2/3/4/5, AM33xx, AM43x, DRA7xx, TI81xx, and K3
>>> SoCs. Hence add a dependency on ARCH_OMAP2PLUS || ARCH_K3, to prevent
>>> asking the user about this driver when configuring a kernel without
>>> OMAP2+ or K3 SoC family support.
>>>
>>> Fixes: be34f45f0d4aa91c ("memory: omap-gpmc: Make OMAP_GPMC config visible and selectable")
>>> Signed-off-by: Geert Uytterhoeven <[email protected]>
>
>>> --- a/drivers/memory/Kconfig
>>> +++ b/drivers/memory/Kconfig
>>> @@ -105,6 +105,7 @@ config TI_EMIF
>>> config OMAP_GPMC
>>> tristate "Texas Instruments OMAP SoC GPMC driver"
>>> depends on OF_ADDRESS
>>> + depends on ARCH_OMAP2PLUS || ARCH_K3 || COMPILE_TEST
>>> select GPIOLIB
>>> help
>>> This driver is for the General Purpose Memory Controller (GPMC)
>>
>> Is there any possibility that CONFIG_IRQ_DOMAIN is not set while both
>> OF_ADDRESS and COMPILE_TEST are set?
>>
>> That particular case will lead to build failures.
>>
>> e.g.
>> https://krzk.eu/#/builders/63/builds/162
>
> So it needs an additional dependency on IRQ_DOMAIN.
> That is a pre-existing problem, not caused by my patch (which adds
> more dependencies, and doesn't remove any).

Fair enough.

Could you please also add ARCH_KEYSTONE in the 'depends on' list
as some SoCs in that architecture do have the GPMC block.

cheers,
-roger

2022-05-10 12:16:19

by Roger Quadros

[permalink] [raw]
Subject: Re: [PATCH] memory: OMAP_GPMC should depend on ARCH_OMAP2PLUS || ARCH_K3

Geert,

On 10/05/2022 11:06, Geert Uytterhoeven wrote:
> Hi Roger,
>
> On Tue, May 10, 2022 at 9:40 AM Roger Quadros <[email protected]> wrote:
>> On 10/05/2022 10:30, Geert Uytterhoeven wrote:
>>> On Tue, May 10, 2022 at 9:22 AM Roger Quadros <[email protected]> wrote:
>>>> On 09/05/2022 16:48, Geert Uytterhoeven wrote:
>>>>> The Texas Instruments OMAP General Purpose Memory Controller (GPMC) is
>>>>> only present on TI OMAP2/3/4/5, AM33xx, AM43x, DRA7xx, TI81xx, and K3
>>>>> SoCs. Hence add a dependency on ARCH_OMAP2PLUS || ARCH_K3, to prevent
>>>>> asking the user about this driver when configuring a kernel without
>>>>> OMAP2+ or K3 SoC family support.
>>>>>
>>>>> Fixes: be34f45f0d4aa91c ("memory: omap-gpmc: Make OMAP_GPMC config visible and selectable")
>>>>> Signed-off-by: Geert Uytterhoeven <[email protected]>
>
>> Could you please also add ARCH_KEYSTONE in the 'depends on' list
>> as some SoCs in that architecture do have the GPMC block.
>
> Are you sure? AFAICS, none of the Keystone DTS files have device
> nodes that are compatible with the match list in the omap-gpmc driver.

Yes, the 66AK2G12 SoC contains the GPMC module. [1]

>
> Or perhaps the GPMC support still has to be added to the Keystone
> DTS files (and or driver)?

That's most likely the case.

cheers,
-roger

[1] 66AK2G12 datasheet: https://www.ti.com/lit/ds/symlink/66ak2g12.pdf?ts=1652170122865&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252F66AK2G12

2022-05-10 12:27:04

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH] memory: OMAP_GPMC should depend on ARCH_OMAP2PLUS || ARCH_K3

On 10/05/2022 09:30, Geert Uytterhoeven wrote:
> Hi Roger,
>
> On Tue, May 10, 2022 at 9:22 AM Roger Quadros <[email protected]> wrote:
>> On 09/05/2022 16:48, Geert Uytterhoeven wrote:
>>> The Texas Instruments OMAP General Purpose Memory Controller (GPMC) is
>>> only present on TI OMAP2/3/4/5, AM33xx, AM43x, DRA7xx, TI81xx, and K3
>>> SoCs. Hence add a dependency on ARCH_OMAP2PLUS || ARCH_K3, to prevent
>>> asking the user about this driver when configuring a kernel without
>>> OMAP2+ or K3 SoC family support.
>>>
>>> Fixes: be34f45f0d4aa91c ("memory: omap-gpmc: Make OMAP_GPMC config visible and selectable")
>>> Signed-off-by: Geert Uytterhoeven <[email protected]>
>
>>> --- a/drivers/memory/Kconfig
>>> +++ b/drivers/memory/Kconfig
>>> @@ -105,6 +105,7 @@ config TI_EMIF
>>> config OMAP_GPMC
>>> tristate "Texas Instruments OMAP SoC GPMC driver"
>>> depends on OF_ADDRESS
>>> + depends on ARCH_OMAP2PLUS || ARCH_K3 || COMPILE_TEST
>>> select GPIOLIB
>>> help
>>> This driver is for the General Purpose Memory Controller (GPMC)
>>
>> Is there any possibility that CONFIG_IRQ_DOMAIN is not set while both
>> OF_ADDRESS and COMPILE_TEST are set?
>>
>> That particular case will lead to build failures.
>>
>> e.g.
>> https://krzk.eu/#/builders/63/builds/162
>
> So it needs an additional dependency on IRQ_DOMAIN.
> That is a pre-existing problem, not caused by my patch (which adds
> more dependencies, and doesn't remove any).

Is this really a case here? The failure reported above was for earlier
version of Roger's patch which was changing to:
depends on OF_ADDRESS || COMPILE_TEST

Here, OF_ADDRESS will be always a dependency. If it builds in current
configuration (having only OF_ADDRESS), then adding dependencies should
not cause more issues.... It only restricts the config, not widens it.

Therefore the patch looks actually correct, but some testing would be
nice that we don't hit the same issues as before.

Best regards,
Krzysztof

2022-05-10 12:50:28

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH] memory: OMAP_GPMC should depend on ARCH_OMAP2PLUS || ARCH_K3

Hi Roger,

On Tue, May 10, 2022 at 10:10 AM Roger Quadros <[email protected]> wrote:
> On 10/05/2022 11:06, Geert Uytterhoeven wrote:
> > On Tue, May 10, 2022 at 9:40 AM Roger Quadros <[email protected]> wrote:
> >> On 10/05/2022 10:30, Geert Uytterhoeven wrote:
> >>> On Tue, May 10, 2022 at 9:22 AM Roger Quadros <[email protected]> wrote:
> >>>> On 09/05/2022 16:48, Geert Uytterhoeven wrote:
> >>>>> The Texas Instruments OMAP General Purpose Memory Controller (GPMC) is
> >>>>> only present on TI OMAP2/3/4/5, AM33xx, AM43x, DRA7xx, TI81xx, and K3
> >>>>> SoCs. Hence add a dependency on ARCH_OMAP2PLUS || ARCH_K3, to prevent
> >>>>> asking the user about this driver when configuring a kernel without
> >>>>> OMAP2+ or K3 SoC family support.
> >>>>>
> >>>>> Fixes: be34f45f0d4aa91c ("memory: omap-gpmc: Make OMAP_GPMC config visible and selectable")
> >>>>> Signed-off-by: Geert Uytterhoeven <[email protected]>
> >
> >> Could you please also add ARCH_KEYSTONE in the 'depends on' list
> >> as some SoCs in that architecture do have the GPMC block.
> >
> > Are you sure? AFAICS, none of the Keystone DTS files have device
> > nodes that are compatible with the match list in the omap-gpmc driver.
>
> Yes, the 66AK2G12 SoC contains the GPMC module. [1]
>
> > Or perhaps the GPMC support still has to be added to the Keystone
> > DTS files (and or driver)?
>
> That's most likely the case.

So would it make sense to compile the omap-gpmc driver on keystone
yet, or does that need the introduction of e.g. a ti,k2g-gpmc compatible
value first, and thus should it be postponed?

> [1] 66AK2G12 datasheet: https://www.ti.com/lit/ds/symlink/66ak2g12.pdf?ts=1652170122865&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252F66AK2G12

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2022-05-10 13:24:35

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH] memory: OMAP_GPMC should depend on ARCH_OMAP2PLUS || ARCH_K3

Hi Roger,

On Tue, May 10, 2022 at 9:40 AM Roger Quadros <[email protected]> wrote:
> On 10/05/2022 10:30, Geert Uytterhoeven wrote:
> > On Tue, May 10, 2022 at 9:22 AM Roger Quadros <[email protected]> wrote:
> >> On 09/05/2022 16:48, Geert Uytterhoeven wrote:
> >>> The Texas Instruments OMAP General Purpose Memory Controller (GPMC) is
> >>> only present on TI OMAP2/3/4/5, AM33xx, AM43x, DRA7xx, TI81xx, and K3
> >>> SoCs. Hence add a dependency on ARCH_OMAP2PLUS || ARCH_K3, to prevent
> >>> asking the user about this driver when configuring a kernel without
> >>> OMAP2+ or K3 SoC family support.
> >>>
> >>> Fixes: be34f45f0d4aa91c ("memory: omap-gpmc: Make OMAP_GPMC config visible and selectable")
> >>> Signed-off-by: Geert Uytterhoeven <[email protected]>

> Could you please also add ARCH_KEYSTONE in the 'depends on' list
> as some SoCs in that architecture do have the GPMC block.

Are you sure? AFAICS, none of the Keystone DTS files have device
nodes that are compatible with the match list in the omap-gpmc driver.

Or perhaps the GPMC support still has to be added to the Keystone
DTS files (and or driver)?

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2022-05-10 13:40:40

by Roger Quadros

[permalink] [raw]
Subject: Re: [PATCH] memory: OMAP_GPMC should depend on ARCH_OMAP2PLUS || ARCH_K3

Geert,

On 10/05/2022 11:17, Geert Uytterhoeven wrote:
> Hi Roger,
>
> On Tue, May 10, 2022 at 10:10 AM Roger Quadros <[email protected]> wrote:
>> On 10/05/2022 11:06, Geert Uytterhoeven wrote:
>>> On Tue, May 10, 2022 at 9:40 AM Roger Quadros <[email protected]> wrote:
>>>> On 10/05/2022 10:30, Geert Uytterhoeven wrote:
>>>>> On Tue, May 10, 2022 at 9:22 AM Roger Quadros <[email protected]> wrote:
>>>>>> On 09/05/2022 16:48, Geert Uytterhoeven wrote:
>>>>>>> The Texas Instruments OMAP General Purpose Memory Controller (GPMC) is
>>>>>>> only present on TI OMAP2/3/4/5, AM33xx, AM43x, DRA7xx, TI81xx, and K3
>>>>>>> SoCs. Hence add a dependency on ARCH_OMAP2PLUS || ARCH_K3, to prevent
>>>>>>> asking the user about this driver when configuring a kernel without
>>>>>>> OMAP2+ or K3 SoC family support.
>>>>>>>
>>>>>>> Fixes: be34f45f0d4aa91c ("memory: omap-gpmc: Make OMAP_GPMC config visible and selectable")
>>>>>>> Signed-off-by: Geert Uytterhoeven <[email protected]>
>>>
>>>> Could you please also add ARCH_KEYSTONE in the 'depends on' list
>>>> as some SoCs in that architecture do have the GPMC block.
>>>
>>> Are you sure? AFAICS, none of the Keystone DTS files have device
>>> nodes that are compatible with the match list in the omap-gpmc driver.
>>
>> Yes, the 66AK2G12 SoC contains the GPMC module. [1]
>>
>>> Or perhaps the GPMC support still has to be added to the Keystone
>>> DTS files (and or driver)?
>>
>> That's most likely the case.
>
> So would it make sense to compile the omap-gpmc driver on keystone
> yet, or does that need the introduction of e.g. a ti,k2g-gpmc compatible
> value first, and thus should it be postponed?

It doesn't harm to be available for keystone already.
Maybe it will save TI Keystone users some pain as to why OMAP_GPMC is no longer
available for Keystone. Let's not affect such users. Thanks!

cheers,
-roger

2022-05-10 16:05:57

by Roger Quadros

[permalink] [raw]
Subject: Re: [PATCH] memory: OMAP_GPMC should depend on ARCH_OMAP2PLUS || ARCH_K3

Hi Geert,

On 09/05/2022 16:48, Geert Uytterhoeven wrote:
> The Texas Instruments OMAP General Purpose Memory Controller (GPMC) is
> only present on TI OMAP2/3/4/5, AM33xx, AM43x, DRA7xx, TI81xx, and K3
> SoCs. Hence add a dependency on ARCH_OMAP2PLUS || ARCH_K3, to prevent
> asking the user about this driver when configuring a kernel without
> OMAP2+ or K3 SoC family support.
>
> Fixes: be34f45f0d4aa91c ("memory: omap-gpmc: Make OMAP_GPMC config visible and selectable")
> Signed-off-by: Geert Uytterhoeven <[email protected]>
> ---
> drivers/memory/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/memory/Kconfig b/drivers/memory/Kconfig
> index b7800b37af78a996..f00757912e2e4c1e 100644
> --- a/drivers/memory/Kconfig
> +++ b/drivers/memory/Kconfig
> @@ -105,6 +105,7 @@ config TI_EMIF
> config OMAP_GPMC
> tristate "Texas Instruments OMAP SoC GPMC driver"
> depends on OF_ADDRESS
> + depends on ARCH_OMAP2PLUS || ARCH_K3 || COMPILE_TEST
> select GPIOLIB
> help
> This driver is for the General Purpose Memory Controller (GPMC)

Is there any possibility that CONFIG_IRQ_DOMAIN is not set while both
OF_ADDRESS and COMPILE_TEST are set?

That particular case will lead to build failures.

e.g.
https://krzk.eu/#/builders/63/builds/162

cheers,
-roger