[PATCH 06/14] gpio: drop unneeded Kconfig dependencies on OF_GPIO
Bartosz Golaszewski
bartosz.golaszewski at oss.qualcomm.com
Wed Mar 4 20:02:27 AEDT 2026
OF_GPIO is selected automatically on all OF systems. Any symbols it
controls also provide stubs so there's really no reason to select it
explicitly. Remove all Kconfig dependencies/selects for GPIO drivers.
For those that have no other dependencies: convert it to requiring
CONFIG_OF instead to avoid new symbols popping up in make config.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski at oss.qualcomm.com>
---
drivers/gpio/Kconfig | 53 +++++++++++++++++-----------------------------------
1 file changed, 17 insertions(+), 36 deletions(-)
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index b45fb799e36c19794e56bbac7539250c09beaeb7..e649384f436e7fdd6ac633d9caad94bbee724439 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -145,7 +145,7 @@ menu "Memory mapped GPIO drivers"
config GPIO_74XX_MMIO
tristate "GPIO driver for 74xx-ICs with MMIO access"
- depends on OF_GPIO
+ depends on OF
select GPIO_GENERIC
help
Say yes here to support GPIO functionality for 74xx-compatible ICs
@@ -175,14 +175,14 @@ config GPIO_AMDPT
config GPIO_ASPEED
tristate "Aspeed GPIO support"
- depends on (ARCH_ASPEED || COMPILE_TEST) && OF_GPIO
+ depends on ARCH_ASPEED || COMPILE_TEST
select GPIOLIB_IRQCHIP
help
Say Y here to support Aspeed AST2400 and AST2500 GPIO controllers.
config GPIO_ASPEED_SGPIO
bool "Aspeed SGPIO support"
- depends on (ARCH_ASPEED || COMPILE_TEST) && OF_GPIO
+ depends on ARCH_ASPEED || COMPILE_TEST
select GPIO_GENERIC
select GPIOLIB_IRQCHIP
help
@@ -201,7 +201,6 @@ config GPIO_ATH79
config GPIO_RASPBERRYPI_EXP
tristate "Raspberry Pi 3 GPIO Expander"
default RASPBERRYPI_FIRMWARE
- depends on OF_GPIO
# Make sure not 'y' when RASPBERRYPI_FIRMWARE is 'm'. This can only
# happen when COMPILE_TEST=y, hence the added !RASPBERRYPI_FIRMWARE.
depends on (ARCH_BCM2835 && RASPBERRYPI_FIRMWARE) || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE)
@@ -218,7 +217,7 @@ config GPIO_BCM_KONA
config GPIO_BCM_XGS_IPROC
tristate "BRCM XGS iProc GPIO support"
- depends on OF_GPIO && (ARCH_BCM_IPROC || COMPILE_TEST)
+ depends on ARCH_BCM_IPROC || COMPILE_TEST
select GPIO_GENERIC
select GPIOLIB_IRQCHIP
default ARCH_BCM_IPROC
@@ -229,7 +228,6 @@ config GPIO_BLZP1600
tristate "Blaize BLZP1600 GPIO support"
default y if ARCH_BLAIZE
depends on ARCH_BLAIZE || COMPILE_TEST
- depends on OF_GPIO
select GPIO_GENERIC
select GPIOLIB_IRQCHIP
help
@@ -240,7 +238,7 @@ config GPIO_BLZP1600
config GPIO_BRCMSTB
tristate "BRCMSTB GPIO support"
default y if (ARCH_BRCMSTB || BMIPS_GENERIC)
- depends on OF_GPIO && (ARCH_BRCMSTB || ARCH_BCM2835 || BMIPS_GENERIC || COMPILE_TEST)
+ depends on ARCH_BRCMSTB || ARCH_BCM2835 || BMIPS_GENERIC || COMPILE_TEST
select GPIO_GENERIC
select IRQ_DOMAIN
help
@@ -248,7 +246,7 @@ config GPIO_BRCMSTB
config GPIO_CADENCE
tristate "Cadence GPIO support"
- depends on OF_GPIO
+ depends on OF
select GPIO_GENERIC
select GPIOLIB_IRQCHIP
help
@@ -280,14 +278,13 @@ config GPIO_DWAPB
config GPIO_EIC_SPRD
tristate "Spreadtrum EIC support"
depends on ARCH_SPRD || COMPILE_TEST
- depends on OF_GPIO
select GPIOLIB_IRQCHIP
help
Say yes here to support Spreadtrum EIC device.
config GPIO_EM
tristate "Emma Mobile GPIO"
- depends on (ARCH_EMEV2 || COMPILE_TEST) && OF_GPIO
+ depends on ARCH_EMEV2 || COMPILE_TEST
help
Say yes here to support GPIO on Renesas Emma Mobile SoCs.
@@ -329,7 +326,7 @@ config GPIO_GE_FPGA
config GPIO_FTGPIO010
bool "Faraday FTGPIO010 GPIO"
- depends on OF_GPIO
+ depends on OF
select GPIO_GENERIC
select GPIOLIB_IRQCHIP
default (ARCH_GEMINI || ARCH_MOXART)
@@ -383,7 +380,7 @@ config GPIO_HISI
config GPIO_HLWD
tristate "Nintendo Wii (Hollywood) GPIO"
- depends on OF_GPIO
+ depends on OF
select GPIO_GENERIC
select GPIOLIB_IRQCHIP
help
@@ -434,7 +431,6 @@ config GPIO_LOONGSON
config GPIO_LOONGSON_64BIT
tristate "Loongson 64 bit GPIO support"
depends on LOONGARCH || COMPILE_TEST
- depends on OF_GPIO
select GPIO_GENERIC
select GPIOLIB_IRQCHIP
help
@@ -447,7 +443,7 @@ config GPIO_LOONGSON_64BIT
config GPIO_LPC18XX
tristate "NXP LPC18XX/43XX GPIO support"
default y if ARCH_LPC18XX
- depends on OF_GPIO && (ARCH_LPC18XX || COMPILE_TEST)
+ depends on ARCH_LPC18XX || COMPILE_TEST
select IRQ_DOMAIN_HIERARCHY
select GPIOLIB_IRQCHIP
help
@@ -456,7 +452,7 @@ config GPIO_LPC18XX
config GPIO_LPC32XX
tristate "NXP LPC32XX GPIO support"
- depends on OF_GPIO && (ARCH_LPC32XX || COMPILE_TEST)
+ depends on ARCH_LPC32XX || COMPILE_TEST
help
Select this option to enable GPIO driver for
NXP LPC32XX devices.
@@ -499,7 +495,6 @@ config GPIO_MPC8XXX
config GPIO_MT7621
bool "Mediatek MT7621 GPIO Support"
depends on SOC_MT7620 || SOC_MT7621 || COMPILE_TEST
- depends on OF_GPIO
select GPIO_GENERIC
select GPIOLIB_IRQCHIP
help
@@ -592,7 +587,6 @@ config GPIO_RCAR
config GPIO_RDA
bool "RDA Micro GPIO controller support"
depends on ARCH_RDA || COMPILE_TEST
- depends on OF_GPIO
select GPIO_GENERIC
select GPIOLIB_IRQCHIP
help
@@ -642,7 +636,6 @@ config GPIO_RTD
config GPIO_SAMA5D2_PIOBU
tristate "SAMA5D2 PIOBU GPIO support"
depends on MFD_SYSCON
- depends on OF_GPIO
depends on ARCH_AT91 || COMPILE_TEST
select GPIO_SYSCON
help
@@ -654,7 +647,7 @@ config GPIO_SAMA5D2_PIOBU
config GPIO_SIFIVE
tristate "SiFive GPIO support"
- depends on OF_GPIO
+ depends on OF
select IRQ_DOMAIN_HIERARCHY
select GPIO_GENERIC
select GPIOLIB_IRQCHIP
@@ -673,7 +666,6 @@ config GPIO_SIOX
config GPIO_SNPS_CREG
bool "Synopsys GPIO via CREG (Control REGisters) driver"
depends on ARC || COMPILE_TEST
- depends on OF_GPIO
help
This driver supports GPIOs via CREG on various Synopsys SoCs.
This is a single-register MMIO GPIO driver for complex cases
@@ -683,7 +675,6 @@ config GPIO_SNPS_CREG
config GPIO_SPACEMIT_K1
tristate "SPACEMIT K1 GPIO support"
depends on ARCH_SPACEMIT || COMPILE_TEST
- depends on OF_GPIO
select GPIO_GENERIC
select GPIOLIB_IRQCHIP
help
@@ -699,7 +690,6 @@ config GPIO_SPEAR_SPICS
config GPIO_SPRD
tristate "Spreadtrum GPIO support"
depends on ARCH_SPRD || COMPILE_TEST
- depends on OF_GPIO
select GPIOLIB_IRQCHIP
help
Say yes here to support Spreadtrum GPIO device.
@@ -707,7 +697,6 @@ config GPIO_SPRD
config GPIO_STP_XWAY
bool "XWAY STP GPIOs"
depends on SOC_XWAY || COMPILE_TEST
- depends on OF_GPIO
help
This enables support for the Serial To Parallel (STP) unit found on
XWAY SoC. The STP allows the SoC to drive a shift registers cascade,
@@ -742,7 +731,6 @@ config GPIO_TEGRA
tristate "NVIDIA Tegra GPIO support"
default ARCH_TEGRA
depends on ARCH_TEGRA || COMPILE_TEST
- depends on OF_GPIO
select GPIOLIB_IRQCHIP
select IRQ_DOMAIN_HIERARCHY
help
@@ -752,7 +740,6 @@ config GPIO_TEGRA186
tristate "NVIDIA Tegra186 GPIO support"
default ARCH_TEGRA_186_SOC || ARCH_TEGRA_194_SOC || ARCH_TEGRA_234_SOC
depends on ARCH_TEGRA_186_SOC || ARCH_TEGRA_194_SOC || ARCH_TEGRA_234_SOC || COMPILE_TEST
- depends on OF_GPIO
select GPIOLIB_IRQCHIP
select IRQ_DOMAIN_HIERARCHY
help
@@ -760,7 +747,6 @@ config GPIO_TEGRA186
config GPIO_TS4800
tristate "TS-4800 DIO blocks and compatibles"
- depends on OF_GPIO
depends on SOC_IMX51 || COMPILE_TEST
select GPIO_GENERIC
help
@@ -780,7 +766,6 @@ config GPIO_THUNDERX
config GPIO_UNIPHIER
tristate "UniPhier GPIO support"
depends on ARCH_UNIPHIER || COMPILE_TEST
- depends on OF_GPIO
select IRQ_DOMAIN_HIERARCHY
help
Say yes here to support UniPhier GPIOs.
@@ -797,7 +782,6 @@ config GPIO_VF610
config GPIO_VISCONTI
tristate "Toshiba Visconti GPIO support"
depends on ARCH_VISCONTI || COMPILE_TEST
- depends on OF_GPIO
select GPIOLIB_IRQCHIP
select GPIO_GENERIC
select IRQ_DOMAIN_HIERARCHY
@@ -806,14 +790,14 @@ config GPIO_VISCONTI
config GPIO_WCD934X
tristate "Qualcomm Technologies Inc WCD9340/WCD9341 GPIO controller driver"
- depends on MFD_WCD934X && OF_GPIO
+ depends on MFD_WCD934X
help
This driver is to support GPIO block found on the Qualcomm Technologies
Inc WCD9340/WCD9341 Audio Codec.
config GPIO_XGENE
bool "APM X-Gene GPIO controller support"
- depends on ARM64 && OF_GPIO
+ depends on ARM64
help
This driver is to support the GPIO block within the APM X-Gene SoC
platform's generic flash controller. The GPIO pins are muxed with
@@ -1111,7 +1095,7 @@ menu "I2C GPIO expanders"
config GPIO_ADNP
tristate "Avionic Design N-bit GPIO expander"
- depends on OF_GPIO
+ depends on OF
select GPIOLIB_IRQCHIP
help
This option enables support for N GPIOs found on Avionic Design
@@ -1144,7 +1128,7 @@ config GPIO_DS4520
config GPIO_GW_PLD
tristate "Gateworks PLD GPIO Expander"
- depends on OF_GPIO
+ depends on OF
help
Say yes here to provide access to the Gateworks I2C PLD GPIO
Expander. This is used at least on the Cambria GW2358-4.
@@ -1567,7 +1551,6 @@ config GPIO_PALMAS
config GPIO_PMIC_EIC_SPRD
tristate "Spreadtrum PMIC EIC support"
depends on MFD_SC27XX_PMIC || COMPILE_TEST
- depends on OF_GPIO
select GPIOLIB_IRQCHIP
help
Say yes here to support Spreadtrum PMIC EIC device.
@@ -1606,7 +1589,6 @@ config GPIO_SL28CPLD
config GPIO_STMPE
tristate "STMPE GPIOs"
depends on MFD_STMPE
- depends on OF_GPIO
select GPIOLIB_IRQCHIP
help
This enables support for the GPIOs found on the STMPE I/O
@@ -1615,7 +1597,6 @@ config GPIO_STMPE
config GPIO_TC3589X
bool "TC3589X GPIOs"
depends on MFD_TC3589X
- depends on OF_GPIO
select GPIOLIB_IRQCHIP
help
This enables support for the GPIOs found on the TC3589X
@@ -2005,7 +1986,7 @@ config GPIO_LATCH
config GPIO_LINE_MUX
tristate "GPIO line mux driver"
- depends on OF_GPIO
+ depends on OF
select MULTIPLEXER
help
Say Y here to support the GPIO line mux, which can provide virtual
--
2.47.3
More information about the Linuxppc-dev
mailing list