From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> Linus, Here's the pull-request with updates for this merge window from the GPIO subsystem. We have two new drivers, some improvements to the core code, lots of different updates to existing GPIO drivers and some dt-bindings on top. There's nothing controversial in here and almost everything has been in next for more than a week (95% a lot longer than this). The only thing that has spent less time in next is a new driver so no risk of regressions. The single merge pulls in changes that remove all usage of global GPIO numbers from arch/arm/mach-omap. Please pull. Best Regards, Bartosz Golaszewski The following changes since commit ac9a78681b921877518763ba0e89202254349d1b: Linux 6.4-rc1 (2023-05-07 13:34:35 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git tags/gpio-updates-for-v6.5 for you to fetch changes up to 0ff9f5e57c5bb45b6b807a4d466228de39d8cd2f: of: unittest: drop assertions for GPIO hog messages (2023-06-23 12:12:49 +0200) ---------------------------------------------------------------- gpio updates for v6.5 Core GPIO library: - remove unused symbols - don't spam the kernel log with messages about hogs - remove old sysfs API cruft - improve handling of GPIO masks New drivers - add a driver for the BlueField-3 GPIO controller - add GPIO support for the TPS65219 PMIC Driver improvements: - extend the gpio-aggregator driver to support ramp-up/ramp-down delay - remove unnecessary CONFIG_OF guards from gpio-aggregator - readability improvements in gpio-tangier - switch i2c drivers back to using probe() now that it's been converted in the i2c subsystem to not taking the id parameter - remove unused inclusions of of_gpio.h in several drivers - make pm ops static in gpio-davinci and fix a comment - use more devres in drivers to shrink and simplify the code - add missing include in gpio-sa1100 - add HAS_IOPORT KConfig dependency where needed - add permissions checks before accessing pins in gpio-tegra186 - convert the gpio-zynq driver to using immutable irqchips - preserve output settings set by the bootloader in gpio-mpc8xxx Selftests: - tweak the variable naming in script tests Device tree updates: - convert gpio-mmio and gpio-stmpe to YAML - add parsing of GPIO hogs to gpio-vf610 - add bindings for the Cirrus EP93xx GPIO controller - add gpio-line-names property to the gpio-pca9570 bindings - extend the binding for x-powers,axp209 with another block ---------------------------------------------------------------- Alexander Stein (4): dt-bindings: gpio: Add gpio-delay binding document gpio: Add gpio delay driver gpio: Fix dependency for gpio-delay dt-bindings: gpio: gpio-vf610: Add parsing of hogs Andrew Davis (4): gpio: tpic2810: Use devm_gpiochip_add_data() to simplify remove path gpio: twl4030: Use devm_gpiochip_add_data() to simplify remove path gpio: tps65086: Use devm_gpiochip_add_data() to simplify remove path gpio: sch311x: Use devm_gpiochip_add_data() to simplify remove path Andy Shevchenko (15): gpiolib: Kill unused GPIOF_EXPORT and Co gpiolib: Kill unused GPIOF_OPEN_* gpiolib: Consolidate the allocated mask freeing APIs gpiolib: Unify allocation and initialization of GPIO valid mask gpiolib: Do not unexport GPIO on freeing gpiolib: remove unused gpio_cansleep() gpio: aggregator: Remove CONFIG_OF and of_match_ptr() protections gpio: aggregator: Support delay for setting up individual GPIOs gpio: aggregator: Set up a parser of delay line parameters gpio: delay: Remove duplicative functionality selftests: gpio: gpio-sim: Use same variable name for sysfs pathname gpio: mpc8xxx: Remove unused of_gpio.h inclusion gpio: xra1403: Remove unused of_gpio.h inclusion gpio: lpc18xx: Remove unused of_gpio.h inclusion gpiolib: Drop unused domain_ops memeber of GPIO IRQ chip Arnd Bergmann (2): gpio: sa1100: include <mach/generic.h> gpio: synq: remove unused zynq_gpio_irq_reqres/zynq_gpio_irq_relres Asmaa Mnebhi (1): gpio: mlxbf3: Add gpio driver support Bartosz Golaszewski (3): Merge tag 'gpio-omap-descriptors-v6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio into gpio/for-next gpiolib: demote the hogging log messages to debug of: unittest: drop assertions for GPIO hog messages Geert Uytterhoeven (1): dt-bindings: gpio: gpio-delay: Spelling s/curcuit/circuit/ Jerome Neanne (1): gpio: tps65219: add GPIO support for TPS65219 PMIC Jonathan McDowell (1): dt-bindings: gpio: Add GPIO3 for AXP209 GPIO binding schema Krzysztof Kozlowski (1): gpio: davinci: correct non-kerneldoc comment Leonard Göhrs (1): dt-bindings: gpio: pca9570: add gpio-line-names property Linus Walleij (14): dt-bindings: gpio: Convert STMPE GPIO to YAML schema ARM/mfd/gpio: Fixup TPS65010 regression on OMAP1 OSK1 ARM: omap1: Drop header on AMS Delta ARM: omap1: Remove reliance on GPIO numbers from PalmTE ARM: omap1: Remove reliance on GPIO numbers from SX1 Input: ads7846 - Convert to use software nodes ARM/mmc: Convert old mmci-omap to GPIO descriptors ARM: omap1: Fix up the Nokia 770 board device IRQs ARM: omap1: Make serial wakeup GPIOs use descriptors ARM: omap1: Exorcise the legacy GPIO header ARM/gpio: Push OMAP2 quirk down into TWL4030 driver ARM: omap2: Get USB hub reset GPIO from descriptor ARM: omap2: Rewrite WLAN quirk to use GPIO descriptors ARM/musb: omap2: Remove global GPIO numbers from TUSB6010 Manikanta Guntupalli (1): gpio: zynq: fix zynqmp_gpio not an immutable chip warning Michal Smulski (1): gpio: mpc8xxx: latch GPIOs state on module load when configured as output Min-Hua Chen (1): gpio: davinci: make davinci_gpio_dev_pm_ops static Nikita Shubin (1): dt-bindings: gpio: Add Cirrus EP93xx Niklas Schnelle (1): gpio: add HAS_IOPORT dependencies Prathamesh Shete (1): gpio: tegra186: Check GPIO pin permission before access. Raag Jadav (1): gpio: tangier: calculate number of ctx using temporary variable Sean Anderson (1): dt-bindings: Convert gpio-mmio to yaml Uwe Kleine-König (1): gpio: Switch i2c drivers back to use .probe() Yang Li (2): gpio: ixp4xx: Use devm_platform_ioremap_resource() gpio: brcmstb: Use devm_platform_get_and_ioremap_resource() ...cm,bcm6345-gpio.yaml => brcm,bcm63xx-gpio.yaml} | 18 +- .../devicetree/bindings/gpio/gpio-delay.yaml | 79 +++++++ .../devicetree/bindings/gpio/gpio-ep9301.yaml | 154 +++++++++++++ .../devicetree/bindings/gpio/gpio-mmio.yaml | 117 ++++++++++ .../devicetree/bindings/gpio/gpio-pca9570.yaml | 4 + .../devicetree/bindings/gpio/gpio-stmpe.txt | 17 -- .../devicetree/bindings/gpio/gpio-vf610.yaml | 7 + .../bindings/gpio/ni,169445-nand-gpio.txt | 38 ---- .../devicetree/bindings/gpio/st,stmpe-gpio.yaml | 53 +++++ .../devicetree/bindings/gpio/wd,mbl-gpio.txt | 38 ---- .../bindings/gpio/x-powers,axp209-gpio.yaml | 1 + .../bindings/mfd/brcm,bcm6318-gpio-sysctl.yaml | 4 +- .../bindings/mfd/brcm,bcm63268-gpio-sysctl.yaml | 4 +- .../bindings/mfd/brcm,bcm6328-gpio-sysctl.yaml | 4 +- .../bindings/mfd/brcm,bcm6358-gpio-sysctl.yaml | 4 +- .../bindings/mfd/brcm,bcm6362-gpio-sysctl.yaml | 4 +- .../bindings/mfd/brcm,bcm6368-gpio-sysctl.yaml | 4 +- Documentation/driver-api/gpio/legacy.rst | 31 +-- .../translations/zh_CN/driver-api/gpio/legacy.rst | 31 +-- Documentation/translations/zh_TW/gpio.txt | 31 +-- MAINTAINERS | 1 + arch/arm/mach-omap1/board-ams-delta.c | 1 - arch/arm/mach-omap1/board-nokia770.c | 207 ++++++++++------- arch/arm/mach-omap1/board-osk.c | 146 ++++++++---- arch/arm/mach-omap1/board-palmte.c | 51 +++-- arch/arm/mach-omap1/board-sx1-mmc.c | 1 - arch/arm/mach-omap1/board-sx1.c | 40 +++- arch/arm/mach-omap1/devices.c | 1 - arch/arm/mach-omap1/gpio15xx.c | 1 - arch/arm/mach-omap1/gpio16xx.c | 1 - arch/arm/mach-omap1/irq.c | 1 - arch/arm/mach-omap1/serial.c | 30 +-- arch/arm/mach-omap2/board-n8x0.c | 156 ++++--------- arch/arm/mach-omap2/omap_device.c | 1 - arch/arm/mach-omap2/pdata-quirks.c | 132 +++++------ arch/arm/mach-omap2/usb-tusb6010.c | 20 +- arch/arm/mach-omap2/usb-tusb6010.h | 12 + arch/arm/mach-pxa/spitz.c | 11 +- arch/m68k/include/asm/mcfgpio.h | 8 - arch/mips/alchemy/devboards/db1000.c | 11 +- arch/mips/include/asm/mach-au1x00/gpio-au1000.h | 5 - arch/mips/include/asm/mach-au1x00/gpio-au1300.h | 5 - drivers/gpio/Kconfig | 55 +++-- drivers/gpio/Makefile | 2 + drivers/gpio/gpio-adnp.c | 2 +- drivers/gpio/gpio-aggregator.c | 110 ++++++++- drivers/gpio/gpio-brcmstb.c | 3 +- drivers/gpio/gpio-davinci.c | 4 +- drivers/gpio/gpio-fxl6408.c | 2 +- drivers/gpio/gpio-gw-pld.c | 2 +- drivers/gpio/gpio-ixp4xx.c | 4 +- drivers/gpio/gpio-lpc18xx.c | 1 - drivers/gpio/gpio-max7300.c | 2 +- drivers/gpio/gpio-max732x.c | 2 +- drivers/gpio/gpio-mlxbf3.c | 248 +++++++++++++++++++++ drivers/gpio/gpio-mpc8xxx.c | 7 +- drivers/gpio/gpio-pca953x.c | 2 +- drivers/gpio/gpio-pca9570.c | 2 +- drivers/gpio/gpio-pcf857x.c | 2 +- drivers/gpio/gpio-sa1100.c | 1 + drivers/gpio/gpio-sch311x.c | 26 +-- drivers/gpio/gpio-tangier.c | 4 +- drivers/gpio/gpio-tegra186.c | 78 +++++++ drivers/gpio/gpio-tpic2810.c | 27 +-- drivers/gpio/gpio-tps65086.c | 27 +-- drivers/gpio/gpio-tps65219.c | 185 +++++++++++++++ drivers/gpio/gpio-ts4900.c | 2 +- drivers/gpio/gpio-twl4030.c | 64 +++--- drivers/gpio/gpio-xra1403.c | 1 - drivers/gpio/gpio-zynq.c | 46 ++-- drivers/gpio/gpiolib-legacy.c | 12 - drivers/gpio/gpiolib.c | 44 ++-- drivers/input/touchscreen/ads7846.c | 113 ++++------ drivers/mfd/tps65010.c | 14 +- drivers/mmc/host/omap.c | 46 +++- drivers/of/unittest.c | 28 --- drivers/usb/musb/musb_core.c | 1 - drivers/usb/musb/musb_core.h | 2 - drivers/usb/musb/tusb6010.c | 53 +++-- drivers/video/fbdev/omap/lcd_mipid.c | 10 + include/linux/gpio.h | 23 -- include/linux/gpio/driver.h | 7 - include/linux/mfd/tps65010.h | 11 +- include/linux/mfd/twl.h | 3 - include/linux/platform_data/lcd-mipid.h | 2 - include/linux/platform_data/mmc-omap.h | 2 - include/linux/spi/ads7846.h | 2 - include/linux/usb/musb.h | 13 -- tools/testing/selftests/gpio/gpio-sim.sh | 4 +- 89 files changed, 1798 insertions(+), 988 deletions(-) rename Documentation/devicetree/bindings/gpio/{brcm,bcm6345-gpio.yaml => brcm,bcm63xx-gpio.yaml} (75%) create mode 100644 Documentation/devicetree/bindings/gpio/gpio-delay.yaml create mode 100644 Documentation/devicetree/bindings/gpio/gpio-ep9301.yaml create mode 100644 Documentation/devicetree/bindings/gpio/gpio-mmio.yaml delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-stmpe.txt delete mode 100644 Documentation/devicetree/bindings/gpio/ni,169445-nand-gpio.txt create mode 100644 Documentation/devicetree/bindings/gpio/st,stmpe-gpio.yaml delete mode 100644 Documentation/devicetree/bindings/gpio/wd,mbl-gpio.txt create mode 100644 arch/arm/mach-omap2/usb-tusb6010.h create mode 100644 drivers/gpio/gpio-mlxbf3.c create mode 100644 drivers/gpio/gpio-tps65219.c