From: Arnd Bergmann <[email protected]>

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 <[email protected]> (maintainer:GPIO 
SUBSYSTEM,commit_signer:1/2=50%)
Cc: Bartosz Golaszewski <[email protected]> (maintainer:GPIO 
SUBSYSTEM,commit_signer:1/7=14%,commit_signer:1/2=50%)
Cc: [email protected] (open list:GPIO SUBSYSTEM)

Cc: Andrew Lunn <[email protected]> (maintainer:ARM/Marvell Dove/MV78xx0/Orion SOC 
support)
Cc: Sebastian Hesselbarth <[email protected]> 
(maintainer:ARM/Marvell Dove/MV78xx0/Orion SOC support)
Cc: Gregory Clement <[email protected]> (maintainer:ARM/Marvell 
Dove/MV78xx0/Orion SOC support)
Cc: Russell King <[email protected]> (maintainer:ARM PORT)
Cc: Daniel Mack <[email protected]> (maintainer:PXA2xx/PXA3xx SUPPORT)
Cc: Haojian Zhuang <[email protected]> (maintainer:PXA2xx/PXA3xx SUPPORT)
Cc: Robert Jarzmik <[email protected]> (maintainer:PXA2xx/PXA3xx SUPPORT)
Cc: Krzysztof Kozlowski <[email protected]> (maintainer:ARM/SAMSUNG S3C, S5P AND 
EXYNOS ARM ARCHITECTURES,commit_signer:1/2=50%)
Cc: Alim Akhtar <[email protected]> (reviewer:ARM/SAMSUNG S3C, S5P AND 
EXYNOS ARM ARCHITECTURES)
Cc: Geert Uytterhoeven <[email protected]> (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 <[email protected]> (maintainer:MIPS)
Cc: Yoshinori Sato <[email protected]> (maintainer:SUPERH)
Cc: Rich Felker <[email protected]> (maintainer:SUPERH)
Cc: John Paul Adrian Glaubitz <[email protected]> 
(maintainer:SUPERH,commit_signer:2/4=50%)
Cc: Thomas Gleixner <[email protected]> (maintainer:X86 ARCHITECTURE (32-BIT 
AND 64-BIT),added_lines:4/36=11%,removed_lines:6/49=12%)
Cc: Ingo Molnar <[email protected]> (maintainer:X86 ARCHITECTURE (32-BIT AND 
64-BIT))
Cc: Borislav Petkov <[email protected]> (maintainer:X86 ARCHITECTURE (32-BIT AND 
64-BIT))
Cc: Dave Hansen <[email protected]> (maintainer:X86 ARCHITECTURE 
(32-BIT AND 64-BIT))
Cc: [email protected] (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT))
Cc: "H. Peter Anvin" <[email protected]> (reviewer:X86 ARCHITECTURE (32-BIT AND 
64-BIT))
Cc: Dmitry Torokhov <[email protected]> (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 <[email protected]> (maintainer:LED SUBSYSTEM,commit_signer:2/5=40%)
Cc: Pavel Machek <[email protected]> (maintainer:LED SUBSYSTEM)
Cc: Mauro Carvalho Chehab <[email protected]> (maintainer:EM28XX VIDEO4LINUX 
DRIVER)
Cc: Matti Vaittinen <[email protected]> (maintainer:ROHM POWER 
MANAGEMENT IC DEVICE DRIVERS)
Cc: Florian Fainelli <[email protected]> (maintainer:BROADCOM 
B53/SF2 ETHERNET SWITCH DRIVER)
Cc: Jeff Johnson <[email protected]> (maintainer:QUALCOMM ATHEROS ATH10K 
WIRELESS DRIVER)
Cc: Hans de Goede <[email protected]> (maintainer:X86 PLATFORM 
DRIVERS,commit_signer:1/7=14%)
Cc: "Ilpo Järvinen" <[email protected]> (maintainer:X86 PLATFORM 
DRIVERS)
Cc: Greg Kroah-Hartman <[email protected]> (maintainer:USB SUBSYSTEM)
Cc: Jaroslav Kysela <[email protected]> (maintainer:SOUND)
Cc: Takashi Iwai <[email protected]> 
(maintainer:SOUND,commit_signer:1/3=33%,authored:1/3=33%,removed_lines:2/2=100%)
Cc: Liam Girdwood <[email protected]> (maintainer:SOUND - SOC LAYER / DYNAMIC 
AUDIO POWER MANAGEM...)
Cc: Mark Brown <[email protected]> (maintainer:SOUND - SOC LAYER / DYNAMIC 
AUDIO POWER MANAGEM...,commit_signer:26/29=90%,commit_signer:1/3=33%)
Cc: Andy Shevchenko <[email protected]> 
(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" <[email protected]> 
(commit_signer:1/5=20%,authored:1/5=20%,removed_lines:7/10=70%)
Cc: [email protected] (moderated list:ARM/Marvell 
Dove/MV78xx0/Orion SOC support)
Cc: [email protected] (open list)
Cc: [email protected] (open list:ARM/SAMSUNG S3C, S5P AND 
EXYNOS ARM ARCHITECTURES)
Cc: [email protected] (open list:M68K ARCHITECTURE)
Cc: [email protected] (open list:MIPS)
Cc: [email protected] (open list:SUPERH)
Cc: [email protected] (open list:INPUT (KEYBOARD, MOUSE, JOYSTICK, 
TOUCHSCREEN)...)
Cc: [email protected] (open list:LED SUBSYSTEM)
Cc: [email protected] (open list:EM28XX VIDEO4LINUX DRIVER)
Cc: [email protected] (open list:WOLFSON MICROELECTRONICS DRIVERS)
Cc: [email protected] (open list:BROADCOM B53/SF2 ETHERNET SWITCH DRIVER)
Cc: [email protected] (open list:QUALCOMM ATHEROS ATH10K WIRELESS 
DRIVER)
Cc: [email protected] (open list:QUALCOMM ATHEROS ATH10K WIRELESS 
DRIVER)
Cc: [email protected] (open list:X86 PLATFORM DRIVERS)
Cc: [email protected] (open list:USB SUBSYSTEM)
Cc: [email protected] (open list:SOUND)

Reply via email to