The vf610 gpio driver is enabled by default for all i.MX machines,
without any option to disable it in a board-specific config file.
Change gpio's Kconfig to allow disabling this driver. Disable it by
default unless we have a vf610 soc. Enable it in the defconfigs
for the i.MX chips that need it.
While at it, enable COMPILE_TEST for the vf610 gpio driver.
Martin Kaiser (4):
gpio: vf610: allow disabling the vf610 driver
gpio: vf610: enable COMPILE_TEST
ARM: imx_v6_v7_defconfig: enable the vf610 gpio driver
arm64: defconfig: enable the vf610 gpio driver
arch/arm/configs/imx_v6_v7_defconfig | 1 +
arch/arm64/configs/defconfig | 1 +
drivers/gpio/Kconfig | 5 +++--
3 files changed, 5 insertions(+), 2 deletions(-)
--
2.39.2
The vf610 gpio driver is used in i.MX7ULP chips (Cortex A7, ARMv7-A
architecture). Enable it in imx_v6_v7_defconfig.
(vf610 gpio used to be enabled by default for all i.MX chips. This was
changed recently as most i.MX chips don't need this driver.)
Signed-off-by: Martin Kaiser <[email protected]>
---
v4:
- add a new patch to enable COMPILE_TEST
v3:
- split the changes into three patches
arch/arm/configs/imx_v6_v7_defconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig
index 0a90583f9f01..3cdcb786f33f 100644
--- a/arch/arm/configs/imx_v6_v7_defconfig
+++ b/arch/arm/configs/imx_v6_v7_defconfig
@@ -208,6 +208,7 @@ CONFIG_PINCTRL_IMX8MQ=y
CONFIG_GPIO_SYSFS=y
CONFIG_GPIO_MXC=y
CONFIG_GPIO_SIOX=m
+CONFIG_GPIO_VF610=y
CONFIG_GPIO_MAX732X=y
CONFIG_GPIO_PCA953X=y
CONFIG_GPIO_PCF857X=y
--
2.39.2
The vf610 gpio driver is enabled by default for all i.MX machines,
without any option to disable it in a board-specific config file.
Most i.MX chipsets have no hardware for this driver. Change the default
to enable GPIO_VF610 for SOC_VF610 and disable it otherwise.
Add a text description after the bool type, this makes the driver
selectable by make config etc.
Fixes: 30a35c07d9e9 ("gpio: vf610: drop the SOC_VF610 dependency for GPIO_VF610")
Signed-off-by: Martin Kaiser <[email protected]>
---
v4:
- add a new patch to enable COMPILE_TEST
v3:
- split the changes into three patches
v2:
- enable the vf610 gpio driver in the defconfig files for arm_v7
(i.MX7ULP) and arm64 (i.MX8QM, DXL, ULP and i.MX93)
drivers/gpio/Kconfig | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index 1301cec94f12..353af1a4d0ac 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -711,7 +711,8 @@ config GPIO_UNIPHIER
Say yes here to support UniPhier GPIOs.
config GPIO_VF610
- def_bool y
+ bool "VF610 GPIO support"
+ default y if SOC_VF610
depends on ARCH_MXC
select GPIOLIB_IRQCHIP
help
--
2.39.2
The vf610 gpio driver is used in i.MX8QM, DXL, ULP and i.MX93 chips.
Enable it in arm64 defconfig.
(vf610 gpio used to be enabled by default for all i.MX chips. This was
changed recently as most i.MX chips don't need this driver.)
Signed-off-by: Martin Kaiser <[email protected]>
---
v4:
- add a new patch to enable COMPILE_TEST
v3:
- split the changes into three patches
arch/arm64/configs/defconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index e6cf3e5d63c3..915c7c8fd13f 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -632,6 +632,7 @@ CONFIG_GPIO_SYSCON=y
CONFIG_GPIO_UNIPHIER=y
CONFIG_GPIO_VISCONTI=y
CONFIG_GPIO_WCD934X=m
+CONFIG_GPIO_VF610=y
CONFIG_GPIO_XGENE=y
CONFIG_GPIO_XGENE_SB=y
CONFIG_GPIO_MAX732X=y
--
2.39.2
> Subject: [PATCH v4 0/4] gpio: vf610: allow disabling the vf610 driver
>
> The vf610 gpio driver is enabled by default for all i.MX machines, without any
> option to disable it in a board-specific config file.
>
> Change gpio's Kconfig to allow disabling this driver. Disable it by default
> unless we have a vf610 soc. Enable it in the defconfigs for the i.MX chips that
> need it.
>
> While at it, enable COMPILE_TEST for the vf610 gpio driver.
>
> Martin Kaiser (4):
> gpio: vf610: allow disabling the vf610 driver
> gpio: vf610: enable COMPILE_TEST
> ARM: imx_v6_v7_defconfig: enable the vf610 gpio driver
> arm64: defconfig: enable the vf610 gpio driver
Reviewed-by: Peng Fan <[email protected]>
>
> arch/arm/configs/imx_v6_v7_defconfig | 1 +
> arch/arm64/configs/defconfig | 1 +
> drivers/gpio/Kconfig | 5 +++--
> 3 files changed, 5 insertions(+), 2 deletions(-)
>
> --
> 2.39.2
On Wed, Jan 24, 2024 at 09:58:57PM +0100, Martin Kaiser wrote:
> The vf610 gpio driver is enabled by default for all i.MX machines,
> without any option to disable it in a board-specific config file.
>
> Most i.MX chipsets have no hardware for this driver. Change the default
> to enable GPIO_VF610 for SOC_VF610 and disable it otherwise.
>
> Add a text description after the bool type, this makes the driver
> selectable by make config etc.
>
> Fixes: 30a35c07d9e9 ("gpio: vf610: drop the SOC_VF610 dependency for GPIO_VF610")
> Signed-off-by: Martin Kaiser <[email protected]>
> ---
> v4:
> - add a new patch to enable COMPILE_TEST
>
> v3:
> - split the changes into three patches
>
> v2:
> - enable the vf610 gpio driver in the defconfig files for arm_v7
> (i.MX7ULP) and arm64 (i.MX8QM, DXL, ULP and i.MX93)
>
> drivers/gpio/Kconfig | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
> index 1301cec94f12..353af1a4d0ac 100644
> --- a/drivers/gpio/Kconfig
> +++ b/drivers/gpio/Kconfig
> @@ -711,7 +711,8 @@ config GPIO_UNIPHIER
> Say yes here to support UniPhier GPIOs.
>
> config GPIO_VF610
> - def_bool y
> + bool "VF610 GPIO support"
> + default y if SOC_VF610
any reason for having this default y for SOC_VF610, but not for the
other SOC that uses the same variant (i.MX7ULP, ... ?).
Francesco
Thus wrote Francesco Dolcini ([email protected]):
> On Wed, Jan 24, 2024 at 09:58:57PM +0100, Martin Kaiser wrote:
> > The vf610 gpio driver is enabled by default for all i.MX machines,
> > without any option to disable it in a board-specific config file.
> > Most i.MX chipsets have no hardware for this driver. Change the default
> > to enable GPIO_VF610 for SOC_VF610 and disable it otherwise.
> > Add a text description after the bool type, this makes the driver
> > selectable by make config etc.
> > Fixes: 30a35c07d9e9 ("gpio: vf610: drop the SOC_VF610 dependency for GPIO_VF610")
> > Signed-off-by: Martin Kaiser <[email protected]>
> > ---
> > v4:
> > - add a new patch to enable COMPILE_TEST
> > v3:
> > - split the changes into three patches
> > v2:
> > - enable the vf610 gpio driver in the defconfig files for arm_v7
> > (i.MX7ULP) and arm64 (i.MX8QM, DXL, ULP and i.MX93)
> > drivers/gpio/Kconfig | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> > diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
> > index 1301cec94f12..353af1a4d0ac 100644
> > --- a/drivers/gpio/Kconfig
> > +++ b/drivers/gpio/Kconfig
> > @@ -711,7 +711,8 @@ config GPIO_UNIPHIER
> > Say yes here to support UniPhier GPIOs.
> > config GPIO_VF610
> > - def_bool y
> > + bool "VF610 GPIO support"
> > + default y if SOC_VF610
> any reason for having this default y for SOC_VF610, but not for the
> other SOC that uses the same variant (i.MX7ULP, ... ?).
Ok, it's probably not as consistent as it could be.
It seems that there are three categories
* Vybrid SoCs
According to the reference manual, they all have the gpio-vf610 hardware.
Defaulting to y for SOC_VF610 makes sense. It's now possible to disable the
driver if a board doesn't need it.
There's a bunch of defconfigs, not sure which ones would have to enable
gpio-vf610 if it weren't on by default.
* imx7ulp
The devicetrees show that all imx7ulp have gpio-vf610 hardware. You're right,
we should use the same approach, i.e.
default y if SOC_IMX7ULP
and get rid of the imx_v6_v7_defconfig change.
* imx8, imx9
For arm64, there are no SOC_... defines and there's only one defconfig. The
devicetrees don't show clearly which chip has gpio-vf610. We're on the safe
side if we enable gpio-vf610 in defconfig.
Does this make sense?
Martin
On Mon, Jan 29, 2024 at 10:26:16PM +0100, Martin Kaiser wrote:
> Thus wrote Francesco Dolcini ([email protected]):
>
> > On Wed, Jan 24, 2024 at 09:58:57PM +0100, Martin Kaiser wrote:
> > > The vf610 gpio driver is enabled by default for all i.MX machines,
> > > without any option to disable it in a board-specific config file.
>
> > > Most i.MX chipsets have no hardware for this driver. Change the default
> > > to enable GPIO_VF610 for SOC_VF610 and disable it otherwise.
>
> > > Add a text description after the bool type, this makes the driver
> > > selectable by make config etc.
>
> > > Fixes: 30a35c07d9e9 ("gpio: vf610: drop the SOC_VF610 dependency for GPIO_VF610")
> > > Signed-off-by: Martin Kaiser <[email protected]>
> > > ---
>
> > > config GPIO_VF610
> > > - def_bool y
> > > + bool "VF610 GPIO support"
> > > + default y if SOC_VF610
>
> > any reason for having this default y for SOC_VF610, but not for the
> > other SOC that uses the same variant (i.MX7ULP, ... ?).
>
> Ok, it's probably not as consistent as it could be.
..
> Does this make sense?
sounds fair to me.
Francesco
>
> Martin
On Wed, Jan 24, 2024 at 9:59 PM Martin Kaiser <[email protected]> wrote:
>
> The vf610 gpio driver is enabled by default for all i.MX machines,
> without any option to disable it in a board-specific config file.
>
> Most i.MX chipsets have no hardware for this driver. Change the default
> to enable GPIO_VF610 for SOC_VF610 and disable it otherwise.
>
> Add a text description after the bool type, this makes the driver
> selectable by make config etc.
>
> Fixes: 30a35c07d9e9 ("gpio: vf610: drop the SOC_VF610 dependency for GPIO_VF610")
> Signed-off-by: Martin Kaiser <[email protected]>
> ---
Applied, thanks!
Bart
On Wed, Jan 24, 2024 at 09:59:00PM +0100, Martin Kaiser wrote:
> The vf610 gpio driver is used in i.MX8QM, DXL, ULP and i.MX93 chips.
> Enable it in arm64 defconfig.
>
> (vf610 gpio used to be enabled by default for all i.MX chips. This was
> changed recently as most i.MX chips don't need this driver.)
>
> Signed-off-by: Martin Kaiser <[email protected]>
Applied, thanks!
On Wed, Jan 24, 2024 at 09:58:59PM +0100, Martin Kaiser wrote:
> The vf610 gpio driver is used in i.MX7ULP chips (Cortex A7, ARMv7-A
> architecture). Enable it in imx_v6_v7_defconfig.
>
> (vf610 gpio used to be enabled by default for all i.MX chips. This was
> changed recently as most i.MX chips don't need this driver.)
>
> Signed-off-by: Martin Kaiser <[email protected]>
Applied, thanks!
Thus wrote Francesco Dolcini ([email protected]):
> On Mon, Jan 29, 2024 at 10:26:16PM +0100, Martin Kaiser wrote:
> > Thus wrote Francesco Dolcini ([email protected]):
> > > On Wed, Jan 24, 2024 at 09:58:57PM +0100, Martin Kaiser wrote:
> > > > The vf610 gpio driver is enabled by default for all i.MX machines,
> > > > without any option to disable it in a board-specific config file.
> > > > Most i.MX chipsets have no hardware for this driver. Change the default
> > > > to enable GPIO_VF610 for SOC_VF610 and disable it otherwise.
> > > > Add a text description after the bool type, this makes the driver
> > > > selectable by make config etc.
> > > > Fixes: 30a35c07d9e9 ("gpio: vf610: drop the SOC_VF610 dependency for GPIO_VF610")
> > > > Signed-off-by: Martin Kaiser <[email protected]>
> > > > ---
> > > > config GPIO_VF610
> > > > - def_bool y
> > > > + bool "VF610 GPIO support"
> > > > + default y if SOC_VF610
> > > any reason for having this default y for SOC_VF610, but not for the
> > > other SOC that uses the same variant (i.MX7ULP, ... ?).
> > Ok, it's probably not as consistent as it could be.
> ...
> > Does this make sense?
> sounds fair to me.
Sorry for the delay, other tasks got in the way.
The maintainers have meanwhile merged v4.
Basically, the conclusion of my last mail was that imx7ulp and soc_vf610 could
be configured in the same way to make things a bit clearer. This wouldn't be
much of an improvement compared to the v4 set, I'd suggest keeping the current
state.
Thanks,
Martin