2021-02-10 13:30:12

by Geert Uytterhoeven

[permalink] [raw]
Subject: [PATCH] pinctrl: PINCTRL_MICROCHIP_SGPIO should depend on ARCH_SPARX5 || SOC_VCOREIII

the Microsemi/Microchip Serial GPIO device is present only Microsemi
VCore III and Microchip Sparx5 SoCs. Hence add a dependency on
ARCH_SPARX5 || SOC_VCOREIII, to prevent asking the user about this
driver when configuring a kernel without support for these SoCs.

Fixes: 7e5ea974e61c8dd0 ("pinctrl: pinctrl-microchip-sgpio: Add pinctrl driver for Microsemi Serial GPIO")
Signed-off-by: Geert Uytterhoeven <[email protected]>
---
drivers/pinctrl/Kconfig | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
index 113073d5f89bbf70..3b75b1d7d3d1f1b0 100644
--- a/drivers/pinctrl/Kconfig
+++ b/drivers/pinctrl/Kconfig
@@ -353,8 +353,8 @@ config PINCTRL_OCELOT

config PINCTRL_MICROCHIP_SGPIO
bool "Pinctrl driver for Microsemi/Microchip Serial GPIO"
- depends on OF
- depends on HAS_IOMEM
+ depends on OF && HAS_IOMEM
+ depends on ARCH_SPARX5 || SOC_VCOREIII || COMPILE_TEST
select GPIOLIB
select GPIOLIB_IRQCHIP
select GENERIC_PINCONF
--
2.25.1


2021-02-10 13:50:05

by Lars Povlsen

[permalink] [raw]
Subject: Re: [PATCH] pinctrl: PINCTRL_MICROCHIP_SGPIO should depend on ARCH_SPARX5 || SOC_VCOREIII


Geert Uytterhoeven writes:

> the Microsemi/Microchip Serial GPIO device is present only Microsemi
> VCore III and Microchip Sparx5 SoCs. Hence add a dependency on
> ARCH_SPARX5 || SOC_VCOREIII, to prevent asking the user about this
> driver when configuring a kernel without support for these SoCs.
>
> Fixes: 7e5ea974e61c8dd0 ("pinctrl: pinctrl-microchip-sgpio: Add pinctrl driver for Microsemi Serial GPIO")
> Signed-off-by: Geert Uytterhoeven <[email protected]>
> ---
> drivers/pinctrl/Kconfig | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
> index 113073d5f89bbf70..3b75b1d7d3d1f1b0 100644
> --- a/drivers/pinctrl/Kconfig
> +++ b/drivers/pinctrl/Kconfig
> @@ -353,8 +353,8 @@ config PINCTRL_OCELOT
>
> config PINCTRL_MICROCHIP_SGPIO
> bool "Pinctrl driver for Microsemi/Microchip Serial GPIO"
> - depends on OF
> - depends on HAS_IOMEM
> + depends on OF && HAS_IOMEM
> + depends on ARCH_SPARX5 || SOC_VCOREIII || COMPILE_TEST
> select GPIOLIB
> select GPIOLIB_IRQCHIP
> select GENERIC_PINCONF

Geert,

Thank you for your patch. Unfortunately, it makes it impossible to use
the driver across PCIe - which is a specifically desired configuration.

Could you add CONFIG_PCI to the || chain?

Cheers,

--
Lars Povlsen,
Microchip

2021-02-10 13:55:02

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH] pinctrl: PINCTRL_MICROCHIP_SGPIO should depend on ARCH_SPARX5 || SOC_VCOREIII

Hi Lars,

On Wed, Feb 10, 2021 at 2:45 PM Lars Povlsen <[email protected]> wrote:
> Geert Uytterhoeven writes:
> > the Microsemi/Microchip Serial GPIO device is present only Microsemi
> > VCore III and Microchip Sparx5 SoCs. Hence add a dependency on
> > ARCH_SPARX5 || SOC_VCOREIII, to prevent asking the user about this
> > driver when configuring a kernel without support for these SoCs.
> >
> > Fixes: 7e5ea974e61c8dd0 ("pinctrl: pinctrl-microchip-sgpio: Add pinctrl driver for Microsemi Serial GPIO")
> > Signed-off-by: Geert Uytterhoeven <[email protected]>
> > ---
> > drivers/pinctrl/Kconfig | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
> > index 113073d5f89bbf70..3b75b1d7d3d1f1b0 100644
> > --- a/drivers/pinctrl/Kconfig
> > +++ b/drivers/pinctrl/Kconfig
> > @@ -353,8 +353,8 @@ config PINCTRL_OCELOT
> >
> > config PINCTRL_MICROCHIP_SGPIO
> > bool "Pinctrl driver for Microsemi/Microchip Serial GPIO"
> > - depends on OF
> > - depends on HAS_IOMEM
> > + depends on OF && HAS_IOMEM
> > + depends on ARCH_SPARX5 || SOC_VCOREIII || COMPILE_TEST
> > select GPIOLIB
> > select GPIOLIB_IRQCHIP
> > select GENERIC_PINCONF
>
> Thank you for your patch. Unfortunately, it makes it impossible to use
> the driver across PCIe - which is a specifically desired configuration.
>
> Could you add CONFIG_PCI to the || chain?

Sure.

Is PCIe the only other transport over which the register can be accessed?
Or can this also be done over e.g. SPI, like on Ocelot[1]?

[1] https://lore.kernel.org/linux-gpio/[email protected]/

Thanks!

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

2021-02-10 14:19:36

by Alexandre Belloni

[permalink] [raw]
Subject: Re: [PATCH] pinctrl: PINCTRL_MICROCHIP_SGPIO should depend on ARCH_SPARX5 || SOC_VCOREIII

On 10/02/2021 14:53:01+0100, Geert Uytterhoeven wrote:
> Hi Lars,
>
> On Wed, Feb 10, 2021 at 2:45 PM Lars Povlsen <[email protected]> wrote:
> > Geert Uytterhoeven writes:
> > > the Microsemi/Microchip Serial GPIO device is present only Microsemi
> > > VCore III and Microchip Sparx5 SoCs. Hence add a dependency on
> > > ARCH_SPARX5 || SOC_VCOREIII, to prevent asking the user about this
> > > driver when configuring a kernel without support for these SoCs.
> > >
> > > Fixes: 7e5ea974e61c8dd0 ("pinctrl: pinctrl-microchip-sgpio: Add pinctrl driver for Microsemi Serial GPIO")
> > > Signed-off-by: Geert Uytterhoeven <[email protected]>
> > > ---
> > > drivers/pinctrl/Kconfig | 4 ++--
> > > 1 file changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
> > > index 113073d5f89bbf70..3b75b1d7d3d1f1b0 100644
> > > --- a/drivers/pinctrl/Kconfig
> > > +++ b/drivers/pinctrl/Kconfig
> > > @@ -353,8 +353,8 @@ config PINCTRL_OCELOT
> > >
> > > config PINCTRL_MICROCHIP_SGPIO
> > > bool "Pinctrl driver for Microsemi/Microchip Serial GPIO"
> > > - depends on OF
> > > - depends on HAS_IOMEM
> > > + depends on OF && HAS_IOMEM
> > > + depends on ARCH_SPARX5 || SOC_VCOREIII || COMPILE_TEST
> > > select GPIOLIB
> > > select GPIOLIB_IRQCHIP
> > > select GENERIC_PINCONF
> >
> > Thank you for your patch. Unfortunately, it makes it impossible to use
> > the driver across PCIe - which is a specifically desired configuration.
> >
> > Could you add CONFIG_PCI to the || chain?
>
> Sure.
>
> Is PCIe the only other transport over which the register can be accessed?
> Or can this also be done over e.g. SPI, like on Ocelot[1]?
>
> [1] https://lore.kernel.org/linux-gpio/[email protected]/
>

Yes, this driver IP is also available on Ocelot (this is SOC_VCOREIII)
so this is also available over SPI.


--
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

2021-02-10 14:25:16

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH] pinctrl: PINCTRL_MICROCHIP_SGPIO should depend on ARCH_SPARX5 || SOC_VCOREIII

Hi Alexandre,

On Wed, Feb 10, 2021 at 3:17 PM Alexandre Belloni
<[email protected]> wrote:
> On 10/02/2021 14:53:01+0100, Geert Uytterhoeven wrote:
> > On Wed, Feb 10, 2021 at 2:45 PM Lars Povlsen <[email protected]> wrote:
> > > Geert Uytterhoeven writes:
> > > > the Microsemi/Microchip Serial GPIO device is present only Microsemi
> > > > VCore III and Microchip Sparx5 SoCs. Hence add a dependency on
> > > > ARCH_SPARX5 || SOC_VCOREIII, to prevent asking the user about this
> > > > driver when configuring a kernel without support for these SoCs.
> > > >
> > > > Fixes: 7e5ea974e61c8dd0 ("pinctrl: pinctrl-microchip-sgpio: Add pinctrl driver for Microsemi Serial GPIO")
> > > > Signed-off-by: Geert Uytterhoeven <[email protected]>
> > > > ---
> > > > drivers/pinctrl/Kconfig | 4 ++--
> > > > 1 file changed, 2 insertions(+), 2 deletions(-)
> > > >
> > > > diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
> > > > index 113073d5f89bbf70..3b75b1d7d3d1f1b0 100644
> > > > --- a/drivers/pinctrl/Kconfig
> > > > +++ b/drivers/pinctrl/Kconfig
> > > > @@ -353,8 +353,8 @@ config PINCTRL_OCELOT
> > > >
> > > > config PINCTRL_MICROCHIP_SGPIO
> > > > bool "Pinctrl driver for Microsemi/Microchip Serial GPIO"
> > > > - depends on OF
> > > > - depends on HAS_IOMEM
> > > > + depends on OF && HAS_IOMEM
> > > > + depends on ARCH_SPARX5 || SOC_VCOREIII || COMPILE_TEST
> > > > select GPIOLIB
> > > > select GPIOLIB_IRQCHIP
> > > > select GENERIC_PINCONF
> > >
> > > Thank you for your patch. Unfortunately, it makes it impossible to use
> > > the driver across PCIe - which is a specifically desired configuration.
> > >
> > > Could you add CONFIG_PCI to the || chain?
> >
> > Sure.
> >
> > Is PCIe the only other transport over which the register can be accessed?
> > Or can this also be done over e.g. SPI, like on Ocelot[1]?
> >
> > [1] https://lore.kernel.org/linux-gpio/[email protected]/
> >
>
> Yes, this driver IP is also available on Ocelot (this is SOC_VCOREIII)
> so this is also available over SPI.

Hence would you consider

depends on ARCH_SPARX5 || SOC_VCOREIII || PCI || SPI || COMPILE_TEST

acceptable? Or would that be futile, as must systems have PCI and/or
SPI enabled anyway?

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

2021-02-10 14:29:43

by Lars Povlsen

[permalink] [raw]
Subject: Re: [PATCH] pinctrl: PINCTRL_MICROCHIP_SGPIO should depend on ARCH_SPARX5 || SOC_VCOREIII


Geert Uytterhoeven writes:

> Hi Alexandre,
>
> On Wed, Feb 10, 2021 at 3:17 PM Alexandre Belloni
> <[email protected]> wrote:
>> On 10/02/2021 14:53:01+0100, Geert Uytterhoeven wrote:
>> > On Wed, Feb 10, 2021 at 2:45 PM Lars Povlsen <[email protected]> wrote:
>> > > Geert Uytterhoeven writes:
>> > > > the Microsemi/Microchip Serial GPIO device is present only Microsemi
>> > > > VCore III and Microchip Sparx5 SoCs. Hence add a dependency on
>> > > > ARCH_SPARX5 || SOC_VCOREIII, to prevent asking the user about this
>> > > > driver when configuring a kernel without support for these SoCs.
>> > > >
>> > > > Fixes: 7e5ea974e61c8dd0 ("pinctrl: pinctrl-microchip-sgpio: Add pinctrl driver for Microsemi Serial GPIO")
>> > > > Signed-off-by: Geert Uytterhoeven <[email protected]>
>> > > > ---
>> > > > drivers/pinctrl/Kconfig | 4 ++--
>> > > > 1 file changed, 2 insertions(+), 2 deletions(-)
>> > > >
>> > > > diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
>> > > > index 113073d5f89bbf70..3b75b1d7d3d1f1b0 100644
>> > > > --- a/drivers/pinctrl/Kconfig
>> > > > +++ b/drivers/pinctrl/Kconfig
>> > > > @@ -353,8 +353,8 @@ config PINCTRL_OCELOT
>> > > >
>> > > > config PINCTRL_MICROCHIP_SGPIO
>> > > > bool "Pinctrl driver for Microsemi/Microchip Serial GPIO"
>> > > > - depends on OF
>> > > > - depends on HAS_IOMEM
>> > > > + depends on OF && HAS_IOMEM
>> > > > + depends on ARCH_SPARX5 || SOC_VCOREIII || COMPILE_TEST
>> > > > select GPIOLIB
>> > > > select GPIOLIB_IRQCHIP
>> > > > select GENERIC_PINCONF
>> > >
>> > > Thank you for your patch. Unfortunately, it makes it impossible to use
>> > > the driver across PCIe - which is a specifically desired configuration.
>> > >
>> > > Could you add CONFIG_PCI to the || chain?
>> >
>> > Sure.
>> >
>> > Is PCIe the only other transport over which the register can be accessed?
>> > Or can this also be done over e.g. SPI, like on Ocelot[1]?
>> >
>> > [1] https://lore.kernel.org/linux-gpio/[email protected]/
>> >
>>
>> Yes, this driver IP is also available on Ocelot (this is SOC_VCOREIII)
>> so this is also available over SPI.
>
> Hence would you consider
>
> depends on ARCH_SPARX5 || SOC_VCOREIII || PCI || SPI || COMPILE_TEST
>
> acceptable? Or would that be futile, as must systems have PCI and/or
> SPI enabled anyway?
>
> Gr{oetje,eeting}s,
>
> Geert

Yes, that would be fine, but as you say - not have a lot of impact.

Up to you...

---Lars

--
Lars Povlsen,
Microchip

2021-02-10 14:30:49

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH] pinctrl: PINCTRL_MICROCHIP_SGPIO should depend on ARCH_SPARX5 || SOC_VCOREIII

Hi Lars,

On Wed, Feb 10, 2021 at 3:24 PM Lars Povlsen <[email protected]> wrote:
> Geert Uytterhoeven writes:
> > On Wed, Feb 10, 2021 at 3:17 PM Alexandre Belloni
> > <[email protected]> wrote:
> >> On 10/02/2021 14:53:01+0100, Geert Uytterhoeven wrote:
> >> > On Wed, Feb 10, 2021 at 2:45 PM Lars Povlsen <[email protected]> wrote:
> >> > > Geert Uytterhoeven writes:
> >> > > > the Microsemi/Microchip Serial GPIO device is present only Microsemi
> >> > > > VCore III and Microchip Sparx5 SoCs. Hence add a dependency on
> >> > > > ARCH_SPARX5 || SOC_VCOREIII, to prevent asking the user about this
> >> > > > driver when configuring a kernel without support for these SoCs.
> >> > > >
> >> > > > Fixes: 7e5ea974e61c8dd0 ("pinctrl: pinctrl-microchip-sgpio: Add pinctrl driver for Microsemi Serial GPIO")
> >> > > > Signed-off-by: Geert Uytterhoeven <[email protected]>
> >> > > > ---
> >> > > > drivers/pinctrl/Kconfig | 4 ++--
> >> > > > 1 file changed, 2 insertions(+), 2 deletions(-)
> >> > > >
> >> > > > diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
> >> > > > index 113073d5f89bbf70..3b75b1d7d3d1f1b0 100644
> >> > > > --- a/drivers/pinctrl/Kconfig
> >> > > > +++ b/drivers/pinctrl/Kconfig
> >> > > > @@ -353,8 +353,8 @@ config PINCTRL_OCELOT
> >> > > >
> >> > > > config PINCTRL_MICROCHIP_SGPIO
> >> > > > bool "Pinctrl driver for Microsemi/Microchip Serial GPIO"
> >> > > > - depends on OF
> >> > > > - depends on HAS_IOMEM
> >> > > > + depends on OF && HAS_IOMEM
> >> > > > + depends on ARCH_SPARX5 || SOC_VCOREIII || COMPILE_TEST
> >> > > > select GPIOLIB
> >> > > > select GPIOLIB_IRQCHIP
> >> > > > select GENERIC_PINCONF
> >> > >
> >> > > Thank you for your patch. Unfortunately, it makes it impossible to use
> >> > > the driver across PCIe - which is a specifically desired configuration.
> >> > >
> >> > > Could you add CONFIG_PCI to the || chain?
> >> >
> >> > Sure.
> >> >
> >> > Is PCIe the only other transport over which the register can be accessed?
> >> > Or can this also be done over e.g. SPI, like on Ocelot[1]?
> >> >
> >> > [1] https://lore.kernel.org/linux-gpio/[email protected]/
> >> >
> >>
> >> Yes, this driver IP is also available on Ocelot (this is SOC_VCOREIII)
> >> so this is also available over SPI.
> >
> > Hence would you consider
> >
> > depends on ARCH_SPARX5 || SOC_VCOREIII || PCI || SPI || COMPILE_TEST
> >
> > acceptable? Or would that be futile, as must systems have PCI and/or
> > SPI enabled anyway?
> >
> > Gr{oetje,eeting}s,
> >
> > Geert
>
> Yes, that would be fine, but as you say - not have a lot of impact.
>
> Up to you...

OK, I'll drop this.

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