[v2] gpio: vf610: allow disabling the vf610 driver

Message ID 20240116095845.47458-1-martin@kaiser.cx
State New
Headers
Series [v2] gpio: vf610: allow disabling the vf610 driver |

Commit Message

Martin Kaiser Jan. 16, 2024, 9:58 a.m. UTC
  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. Enable the driver in arm64's default
config and in imx_v6_v7_defconfig to support chips like i.MX7ULP,
i.MX8QM, DXL, ULP and i.MX93.

Fixes: 30a35c07d9e9 ("gpio: vf610: drop the SOC_VF610 dependency for GPIO_VF610")
Signed-off-by: Martin Kaiser <martin@kaiser.cx>
---
v2:
 - enable the vf610 gpio driver in the defconfig files for arm_v7
   (i.MX7ULP) and arm64 (i.MX8QM, DXL, ULP and i.MX93)

 arch/arm/configs/imx_v6_v7_defconfig | 1 +
 arch/arm64/configs/defconfig         | 1 +
 drivers/gpio/Kconfig                 | 3 ++-
 3 files changed, 4 insertions(+), 1 deletion(-)
  

Comments

Peng Fan Jan. 16, 2024, 1:17 p.m. UTC | #1
> Subject: [PATCH v2] 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.
> 
> 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. Enable the driver in arm64's default config and in
> imx_v6_v7_defconfig to support chips like i.MX7ULP, i.MX8QM, DXL, ULP
> and i.MX93.
> 
> Fixes: 30a35c07d9e9 ("gpio: vf610: drop the SOC_VF610 dependency for
> GPIO_VF610")
> Signed-off-by: Martin Kaiser <martin@kaiser.cx>
> ---
> v2:
>  - enable the vf610 gpio driver in the defconfig files for arm_v7
>    (i.MX7ULP) and arm64 (i.MX8QM, DXL, ULP and i.MX93)
> 
>  arch/arm/configs/imx_v6_v7_defconfig | 1 +
>  arch/arm64/configs/defconfig         | 1 +
>  drivers/gpio/Kconfig                 | 3 ++-

This should be in three patches:
1. gpio/Kconfig
2. imx_v6_v7_defconfig
3. arm64 defconfig

Regards,
Peng.

>  3 files changed, 4 insertions(+), 1 deletion(-)
> 
> 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
> 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
> 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
  

Patch

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
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
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