]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
gpio: fix up CONFIG_OF dependencies
authorArnd Bergmann <arnd@arndb.de>
Wed, 25 Mar 2026 10:01:14 +0000 (11:01 +0100)
committerBartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Thu, 26 Mar 2026 08:40:55 +0000 (09:40 +0100)
A number of GPIO drivers that used to have a CONFIG_OF_GPIO dependency now fail
to build on targets without CONFIG_OF:

WARNING: unmet direct dependencies detected for GPIO_SYSCON
  Depends on [n]: GPIOLIB [=y] && HAS_IOMEM [=y] && MFD_SYSCON [=y] && OF [=n]
  Selected by [y]:
  - GPIO_SAMA5D2_PIOBU [=y] && GPIOLIB [=y] && HAS_IOMEM [=y] && MFD_SYSCON [=y] && (ARCH_AT91 || COMPILE_TEST [=y])

drivers/gpio/gpio-mt7621.c: In function 'mediatek_gpio_bank_probe':
drivers/gpio/gpio-mt7621.c:254:20: error: 'struct gpio_chip' has no member named 'of_gpio_n_cells'
  254 |         rg->chip.gc.of_gpio_n_cells = 2;
      |                    ^
drivers/gpio/gpio-tegra186.c: In function 'tegra186_gpio_of_xlate':
drivers/gpio/gpio-tegra186.c:502:25: error: 'struct gpio_chip' has no member named 'of_gpio_n_cells'
  502 |         if (WARN_ON(chip->of_gpio_n_cells < 2))
      |                         ^~
drivers/gpio/gpio-lpc32xx.c: In function 'lpc32xx_gpio_probe':
drivers/gpio/gpio-lpc32xx.c:523:49: error: 'struct gpio_chip' has no member named 'of_xlate'
  523 |                         lpc32xx_gpiochip[i].chip.of_xlate = lpc32xx_of_xlate;
      |                                                 ^
drivers/gpio/gpio-spacemit-k1.c: In function 'spacemit_gpio_add_bank':
drivers/gpio/gpio-spacemit-k1.c:234:11: error: 'struct gpio_chip' has no member named 'of_gpio_n_cells'
  234 |         gc->of_gpio_n_cells     = 3;
      |           ^~

Bring that back as a dependency.

Fixes: 7803501e5754 ("gpio: drop unneeded Kconfig dependencies on OF_GPIO")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://patch.msgid.link/20260325100144.1696731-1-arnd@kernel.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
drivers/gpio/Kconfig

index 13b36f103e5ea1ee333ae4e2d60c16f40dfc67e4..4c3f6ec336c16129301613aadc8b22587b217005 100644 (file)
@@ -236,6 +236,7 @@ config GPIO_BRCMSTB
        tristate "BRCMSTB GPIO support"
        default y if (ARCH_BRCMSTB || BMIPS_GENERIC)
        depends on ARCH_BRCMSTB || ARCH_BCM2835 || BMIPS_GENERIC || COMPILE_TEST
+       depends on OF
        select GPIO_GENERIC
        select IRQ_DOMAIN
        help
@@ -463,6 +464,7 @@ config GPIO_LPC18XX
 config GPIO_LPC32XX
        tristate "NXP LPC32XX GPIO support"
        depends on ARCH_LPC32XX || COMPILE_TEST
+       depends on OF
        help
          Select this option to enable GPIO driver for
          NXP LPC32XX devices.
@@ -505,6 +507,7 @@ config GPIO_MPC8XXX
 config GPIO_MT7621
        bool "Mediatek MT7621 GPIO Support"
        depends on SOC_MT7620 || SOC_MT7621 || COMPILE_TEST
+       depends on OF
        select GPIO_GENERIC
        select GPIOLIB_IRQCHIP
        help
@@ -645,6 +648,7 @@ config GPIO_RTD
 
 config GPIO_SAMA5D2_PIOBU
        tristate "SAMA5D2 PIOBU GPIO support"
+       depends on OF
        depends on MFD_SYSCON
        depends on ARCH_AT91 || COMPILE_TEST
        select GPIO_SYSCON
@@ -685,6 +689,7 @@ config GPIO_SNPS_CREG
 config GPIO_SPACEMIT_K1
        tristate "SPACEMIT K1 GPIO support"
        depends on ARCH_SPACEMIT || COMPILE_TEST
+       depends on OF
        select GPIO_GENERIC
        select GPIOLIB_IRQCHIP
        help
@@ -750,6 +755,7 @@ 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
        select GPIOLIB_IRQCHIP
        select IRQ_DOMAIN_HIERARCHY
        help