From: Arnd Bergmann <arnd@xxxxxxxx> Commit 678bae2eaa81 ("gpiolib: make legacy interfaces optional") was merged for linux-6.17, so now it is possible to use the legacy interfaces conditionally and eventually have the support left out of the kernel whenever it is not needed. I created six patches to force-enable CONFIG_GPIOLIB_LEGACY on the few (mostly ancient) platforms that still require this, plus a set of patches to either add the corresponding Kconfig dependencies that make the device drivers conditional on that symbol, or change them to no longer require it. The final patch ends up turning the Kconfig symbol off by default, which of course depends on everything else getting merged first to avoid build errors. I would suggest that patches 1-20 can just get merged through the respective maintainer trees independently when they are deemed ready, and the final patch can wait another merge window. Arnd Arnd Bergmann (21): ARM: select legacy gpiolib interfaces where used m68k: coldfire: select legacy gpiolib interface for mcfqspi mips: select legacy gpiolib interfaces where used sh: select legacy gpiolib interface x86/platform: select legacy gpiolib interfaces where used x86/olpc: select GPIOLIB_LEGACY mfd: wm8994: remove dead legacy-gpio code ASoC: add GPIOLIB_LEGACY dependency where needed input: gpio-keys: make legacy gpiolib optional leds: gpio: make legacy gpiolib interface optional media: em28xx: add special case for legacy gpiolib interface mfd: arizona: make legacy gpiolib interface optional mfd: si476x: add GPIOLIB_LEGACY dependency mfd: aat2870: add GPIOLIB_LEGACY dependency dsa: b53: hide legacy gpiolib usage on non-mips ath10k: remove gpio number assignment nfc: marvell: convert to gpio descriptors nfc: s3fwrn5: convert to gpio descriptors usb: udc: pxa: remove unused platform_data ASoC: pxa: add GPIOLIB_LEGACY dependency gpiolib: turn off legacy interface by default arch/arm/mach-mv78xx0/Kconfig | 1 + arch/arm/mach-orion5x/Kconfig | 1 + arch/arm/mach-pxa/Kconfig | 1 + arch/arm/mach-pxa/devices.c | 7 -- arch/arm/mach-pxa/gumstix.c | 1 - arch/arm/mach-pxa/udc.h | 8 -- arch/arm/mach-s3c/Kconfig.s3c64xx | 1 + arch/arm/mach-sa1100/Kconfig | 1 + arch/m68k/Kconfig.cpu | 1 + arch/mips/Kconfig | 5 + arch/mips/alchemy/Kconfig | 1 - arch/mips/txx9/Kconfig | 1 + arch/sh/Kconfig | 1 + arch/sh/boards/Kconfig | 8 ++ arch/sh/boards/mach-highlander/Kconfig | 1 + arch/sh/boards/mach-rsk/Kconfig | 3 + arch/x86/Kconfig | 1 + drivers/gpio/Kconfig | 11 ++- drivers/input/keyboard/gpio_keys.c | 5 +- drivers/input/keyboard/gpio_keys_polled.c | 2 + drivers/input/misc/Kconfig | 3 + drivers/leds/leds-gpio.c | 8 +- drivers/media/usb/em28xx/Kconfig | 1 + drivers/media/usb/em28xx/em28xx-dvb.c | 4 +- drivers/mfd/Kconfig | 2 + drivers/mfd/arizona-irq.c | 5 +- drivers/mfd/rohm-bd71828.c | 2 + drivers/mfd/rohm-bd718x7.c | 2 + drivers/mfd/wm8994-irq.c | 94 +------------------ drivers/net/dsa/b53/b53_common.c | 17 +--- drivers/net/dsa/b53/b53_priv.h | 24 +++-- drivers/net/wireless/ath/ath10k/leds.c | 3 +- drivers/nfc/nfcmrvl/main.c | 47 +++------- drivers/nfc/nfcmrvl/nfcmrvl.h | 5 +- drivers/nfc/nfcmrvl/uart.c | 5 - drivers/nfc/nfcmrvl/usb.c | 1 - drivers/nfc/s3fwrn5/i2c.c | 42 +++------ drivers/nfc/s3fwrn5/phy_common.c | 12 +-- drivers/nfc/s3fwrn5/phy_common.h | 4 +- drivers/nfc/s3fwrn5/uart.c | 30 ++---- drivers/platform/x86/Kconfig | 3 + .../platform/x86/x86-android-tablets/Kconfig | 1 + drivers/usb/gadget/udc/pxa25x_udc.c | 41 +++----- drivers/usb/gadget/udc/pxa25x_udc.h | 2 +- drivers/usb/gadget/udc/pxa27x_udc.c | 35 +------ drivers/usb/gadget/udc/pxa27x_udc.h | 2 - include/linux/gpio_keys.h | 2 + include/linux/leds.h | 2 + include/linux/mfd/arizona/pdata.h | 6 ++ include/linux/mfd/wm8994/pdata.h | 5 - include/linux/platform_data/pxa2xx_udc.h | 15 --- sound/pci/Kconfig | 1 + sound/soc/codecs/Kconfig | 4 + sound/soc/codecs/arizona-jack.c | 17 +++- sound/soc/pxa/Kconfig | 4 +- 55 files changed, 192 insertions(+), 320 deletions(-) delete mode 100644 arch/arm/mach-pxa/udc.h -- 2.39.5 Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> (maintainer:GPIO SUBSYSTEM,commit_signer:1/2=50%) Cc: Bartosz Golaszewski <brgl@xxxxxxxx> (maintainer:GPIO SUBSYSTEM,commit_signer:1/7=14%,commit_signer:1/2=50%) Cc: linux-gpio@xxxxxxxxxxxxxxx (open list:GPIO SUBSYSTEM) Cc: Andrew Lunn <andrew@xxxxxxx> (maintainer:ARM/Marvell Dove/MV78xx0/Orion SOC support) Cc: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> (maintainer:ARM/Marvell Dove/MV78xx0/Orion SOC support) Cc: Gregory Clement <gregory.clement@xxxxxxxxxxx> (maintainer:ARM/Marvell Dove/MV78xx0/Orion SOC support) Cc: Russell King <linux@xxxxxxxxxxxxxxx> (maintainer:ARM PORT) Cc: Daniel Mack <daniel@xxxxxxxxxx> (maintainer:PXA2xx/PXA3xx SUPPORT) Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> (maintainer:PXA2xx/PXA3xx SUPPORT) Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> (maintainer:PXA2xx/PXA3xx SUPPORT) Cc: Krzysztof Kozlowski <krzk@xxxxxxxxxx> (maintainer:ARM/SAMSUNG S3C, S5P AND EXYNOS ARM ARCHITECTURES,commit_signer:1/2=50%) Cc: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> (reviewer:ARM/SAMSUNG S3C, S5P AND EXYNOS ARM ARCHITECTURES) Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> (maintainer:M68K ARCHITECTURE,commit_signer:1/4=25%,authored:1/4=25%,added_lines:2/13=15%,removed_lines:2/6=33%) Cc: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx> (maintainer:MIPS) Cc: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> (maintainer:SUPERH) Cc: Rich Felker <dalias@xxxxxxxx> (maintainer:SUPERH) Cc: John Paul Adrian Glaubitz <glaubitz@xxxxxxxxxxxxxxxxxxx> (maintainer:SUPERH,commit_signer:2/4=50%) Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT),added_lines:4/36=11%,removed_lines:6/49=12%) Cc: Ingo Molnar <mingo@xxxxxxxxxx> (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)) Cc: Borislav Petkov <bp@xxxxxxxxx> (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)) Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)) Cc: x86@xxxxxxxxxx (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)) Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> (reviewer:X86 ARCHITECTURE (32-BIT AND 64-BIT)) Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> (maintainer:INPUT (KEYBOARD, MOUSE, JOYSTICK, TOUCHSCREEN)...,commit_signer:5/7=71%,authored:1/7=14%,added_lines:17/36=47%,removed_lines:27/49=55%,commit_signer:1/2=50%,commit_signer:3/5=60%) Cc: Lee Jones <lee@xxxxxxxxxx> (maintainer:LED SUBSYSTEM,commit_signer:2/5=40%) Cc: Pavel Machek <pavel@xxxxxxxxxx> (maintainer:LED SUBSYSTEM) Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> (maintainer:EM28XX VIDEO4LINUX DRIVER) Cc: Matti Vaittinen <mazziesaccount@xxxxxxxxx> (maintainer:ROHM POWER MANAGEMENT IC DEVICE DRIVERS) Cc: Florian Fainelli <florian.fainelli@xxxxxxxxxxxx> (maintainer:BROADCOM B53/SF2 ETHERNET SWITCH DRIVER) Cc: Jeff Johnson <jjohnson@xxxxxxxxxx> (maintainer:QUALCOMM ATHEROS ATH10K WIRELESS DRIVER) Cc: Hans de Goede <hansg@xxxxxxxxxx> (maintainer:X86 PLATFORM DRIVERS,commit_signer:1/7=14%) Cc: "Ilpo Järvinen" <ilpo.jarvinen@xxxxxxxxxxxxxxx> (maintainer:X86 PLATFORM DRIVERS) Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> (maintainer:USB SUBSYSTEM) Cc: Jaroslav Kysela <perex@xxxxxxxx> (maintainer:SOUND) Cc: Takashi Iwai <tiwai@xxxxxxxx> (maintainer:SOUND,commit_signer:1/3=33%,authored:1/3=33%,removed_lines:2/2=100%) Cc: Liam Girdwood <lgirdwood@xxxxxxxxx> (maintainer:SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEM...) Cc: Mark Brown <broonie@xxxxxxxxxx> (maintainer:SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEM...,commit_signer:26/29=90%,commit_signer:1/3=33%) Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> (authored:1/7=14%,added_lines:4/36=11%,removed_lines:6/49=12%,commit_signer:1/2=50%,authored:1/2=50%,added_lines:5/7=71%,removed_lines:7/7=100%,added_lines:7/7=100%,removed_lines:2/7=29%) Cc: "Dr. David Alan Gilbert" <linux@xxxxxxxxxxx> (commit_signer:1/5=20%,authored:1/5=20%,removed_lines:7/10=70%) Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx (moderated list:ARM/Marvell Dove/MV78xx0/Orion SOC support) Cc: linux-kernel@xxxxxxxxxxxxxxx (open list) Cc: linux-samsung-soc@xxxxxxxxxxxxxxx (open list:ARM/SAMSUNG S3C, S5P AND EXYNOS ARM ARCHITECTURES) Cc: linux-m68k@xxxxxxxxxxxxxxxxxxxx (open list:M68K ARCHITECTURE) Cc: linux-mips@xxxxxxxxxxxxxxx (open list:MIPS) Cc: linux-sh@xxxxxxxxxxxxxxx (open list:SUPERH) Cc: linux-input@xxxxxxxxxxxxxxx (open list:INPUT (KEYBOARD, MOUSE, JOYSTICK, TOUCHSCREEN)...) Cc: linux-leds@xxxxxxxxxxxxxxx (open list:LED SUBSYSTEM) Cc: linux-media@xxxxxxxxxxxxxxx (open list:EM28XX VIDEO4LINUX DRIVER) Cc: patches@xxxxxxxxxxxxxxxxxxxxx (open list:WOLFSON MICROELECTRONICS DRIVERS) Cc: netdev@xxxxxxxxxxxxxxx (open list:BROADCOM B53/SF2 ETHERNET SWITCH DRIVER) Cc: linux-wireless@xxxxxxxxxxxxxxx (open list:QUALCOMM ATHEROS ATH10K WIRELESS DRIVER) Cc: ath10k@xxxxxxxxxxxxxxxxxxx (open list:QUALCOMM ATHEROS ATH10K WIRELESS DRIVER) Cc: platform-driver-x86@xxxxxxxxxxxxxxx (open list:X86 PLATFORM DRIVERS) Cc: linux-usb@xxxxxxxxxxxxxxx (open list:USB SUBSYSTEM) Cc: linux-sound@xxxxxxxxxxxxxxx (open list:SOUND)