[GIT PULL] gpio updates for v6.12-rc1

From: Bartosz Golaszewski
Date: Tue Sep 17 2024 - 05:41:58 EST


From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>

Linus,

Here are the updates from the GPIO tree for the next release. We have one
new driver, some improvements to core GPIO code, various changes in
drivers and their DT bindings as well fixes to kerneldocs.

Overall it has been a slow cycle, most likely due to the summertime
vacation period and the changelog reflects it.

The merge from the MFD tree is there to pull dependencies for the new
driver.

There is a trivial conflict with the SoC tree (just drop
arch/arm/mach-ep93xx/vision_ep9307.c).

Details are in the signed tag. Please pull.

Bartosz Golaszewski

The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b:

Linux 6.11-rc1 (2024-07-28 14:19:55 -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.12-rc1

for you to fetch changes up to 6b5e97c020060c2b8ad286002415106ab7034435:

gpio: mpc8xxx: switch to using DEFINE_RUNTIME_DEV_PM_OPS() (2024-09-06 08:50:48 +0200)

----------------------------------------------------------------
gpio updates for v6.12-rc1

Core GPIOLIB:
- provide and add users for a macro allowing to iterate over accepted
GPIO property names of consumer device nodes
- remove legacy definitions that are no longer used
- put legacy GPIO devres helpers together with the rest of the deprecated
code
- implement and use swnode_gpio_get_reference(): a wrapper simplifying
the underlying calls to fwnode_property_get_reference_args()
- use IS_ERR_OR_NULL() where it makes sense
- replace of_find_property() with of_property_present()
- simplify code with the scoped variant of OF-node children iterator

Documentation:
- update GPIO kerneldocs with Return sections
- fix "Excess struct member description" warnings now being triggered
with W=1

New drivers:
- add support for Analog Devices ADP5585

Driver improvements:
- add support for wake-on-GPIO to gpio-mpc8xxx
- use GPIO_LOOKUP_IDX() in gpio-virtuser
- use devm_clk_get_[optional_]enabled() where applicable in several
drivers
- replace OF-specific functions with provider-agnostic alternatives where
possible
- drop support for legacy platform data from gpio-ath79 and gpio-davinci
- refactor gpio-stmpe
- improve error reporting in gpio-pca953x
- add support for reading the direction of pins for some models to
gpio-vf610

DT bindings:
- convert the bindings for nxp,lpc3220 to YAML
- add gpio-reserved-ranges to gpio-davinci
- simplify the GPIO hog schema
- fix a GPIO hog issue in bindings for fcs,fxl6408

Other:
- fix format specifiers in user-space tools
- remove leftover files on make clean in tools/gpio/

----------------------------------------------------------------
Andy Shevchenko (22):
gpiolib: Introduce for_each_gpio_property_name() helper
gpiolib: swnode: Unify return code variable name
gpiolib: swnode: Introduce swnode_gpio_get_reference() helper
gpiolib: swnode: Make use of for_each_gpio_property_name()
gpiolib: Replace gpio_suffix_count with NULL-terminated array
gpio: virtuser: Use GPIO_LOOKUP_IDX() macro
gpiolib: legacy: Kill GPIOF_INIT_* definitions
gpiolib: legacy: Kill GPIOF_DIR_* definitions
gpio: tegra: Replace of_node_to_fwnode() with more suitable API
gpio: msc313: Replace of_node_to_fwnode() with more suitable API
gpio: uniphier: Replace of_node_to_fwnode() with more suitable API
gpio: tegra186: Replace of_node_to_fwnode() with more suitable API
gpio: thunderx: Replace of_node_to_fwnode() with more suitable API
gpio: visconti: Replace of_node_to_fwnode() with more suitable API
gpio: ixp4xx: Replace of_node_to_fwnode() with more suitable API
gpiolib: Update the kernel documentation - add Return sections
gpiolib: legacy: Consolidate devm_gpio_*() with other legacy APIs
gpio: stmpe: Fix IRQ related error messages
gpio: stmpe: Remove unused 'dev' member of struct stmpe_gpio
gpio: stmpe: Utilise temporary variable for struct device
gpio: stmpe: Make use of device properties
gpio: stmpe: Sort headers

Animesh Agarwal (1):
dt-bindings: gpio: nxp,lpc3220-gpio: Convert to dtschema

Bartosz Golaszewski (9):
Merge tag 'ib-mfd-gpio-pwm-v6.12' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/lee/mfd into gpio/for-next
gpio: ath79: order headers alphabetically
gpio: ath79: add missing header
gpio: ath79: use generic device property getters
gpio: ath79: remove support for platform data
gpio: davinci: drop platform data support
gpio: davinci: use devm_clk_get_enabled()
gpio: mpc8xxx: order headers alphabetically
gpio: mpc8xxx: switch to using DEFINE_RUNTIME_DEV_PM_OPS()

Chen Ni (1):
gpio: sama5d2-piobu: convert comma to semicolon

Clark Wang (1):
pwm: adp5585: Add Analog Devices ADP5585 support

Dhruva Gole (1):
gpio: syscon: fix excess struct member build warning

Fabio Estevam (1):
gpio: pca953x: Print the error code on read/write failures

Haibo Chen (4):
mfd: adp5585: Add Analog Devices ADP5585 core support
gpio: adp5585: Add Analog Devices ADP5585 support
gpio: gpio-vf610: use u32 mask to handle 32 number gpios
gpio: vf610: add get_direction() support

Hongbo Li (1):
gpio: Use IS_ERR_OR_NULL() helper function

Jared McArthur (1):
dt-bindings: gpio: gpio-davinci: Add the gpio-reserved-ranges property

Krzysztof Kozlowski (4):
gpio: of: simplify with scoped for each OF child loop
dt-bindings: gpio: fcs,fxl6408: add missing type to GPIO hogs
dt-bindings: gpio: simplify GPIO hog nodes schema
gpio: pch: kerneldoc fixes for excess members

Laurent Pinchart (1):
dt-bindings: mfd: Add Analog Devices ADP5585

Martyn Welch (1):
gpio: mpc8xxx: Add wake on GPIO support

Rob Herring (Arm) (1):
gpio: Use of_property_present()

Rong Qianfeng (2):
gpio: stp-xway: Simplify using devm_clk_get_enabled()
gpio: zynq: Simplify using devm_clk_get_enabled()

Shen Lichuan (1):
gpio: stmpe: Simplify with dev_err_probe()

Uwe Kleine-König (1):
gpio: Drop explicit initialization of struct i2c_device_id::driver_data to 0

Zhang Zekun (4):
gpio: cadence: Use helper function devm_clk_get_enabled()
gpio: lpc18xx: Use helper function devm_clk_get_enabled()
gpio: mb86s7x: Use helper function devm_clk_get_optional_enabled()
gpio: xilinx: Use helper function devm_clk_get_optional_enabled()

Zhu Jun (1):
tools: gpio: Fix the wrong format specifier

zhangjiao (1):
tools: gpio: rm .*.cmd on make clean

.../bindings/gpio/fairchild,74hc595.yaml | 11 -
.../devicetree/bindings/gpio/fcs,fxl6408.yaml | 1 +
.../devicetree/bindings/gpio/fsl-imx-gpio.yaml | 11 -
.../devicetree/bindings/gpio/gpio-davinci.yaml | 2 +
.../devicetree/bindings/gpio/gpio-pca95xx.yaml | 11 -
.../devicetree/bindings/gpio/gpio_lpc32xx.txt | 43 ----
.../bindings/gpio/microchip,mpfs-gpio.yaml | 12 --
.../devicetree/bindings/gpio/nxp,lpc3220-gpio.yaml | 50 +++++
.../bindings/gpio/socionext,uniphier-gpio.yaml | 11 -
.../devicetree/bindings/mfd/adi,adp5585.yaml | 92 +++++++++
.../devicetree/bindings/trivial-devices.yaml | 4 -
MAINTAINERS | 11 +
arch/arm/mach-ep93xx/vision_ep9307.c | 6 +-
arch/mips/bcm63xx/boards/board_bcm963xx.c | 2 +-
drivers/gpio/Kconfig | 7 +
drivers/gpio/Makefile | 1 +
drivers/gpio/gpio-adp5585.c | 229 +++++++++++++++++++++
drivers/gpio/gpio-ath79.c | 31 +--
drivers/gpio/gpio-cadence.c | 23 +--
drivers/gpio/gpio-davinci.c | 102 +++------
drivers/gpio/gpio-fxl6408.c | 2 +-
drivers/gpio/gpio-ixp4xx.c | 10 +-
drivers/gpio/gpio-lpc18xx.c | 23 +--
drivers/gpio/gpio-max7300.c | 2 +-
drivers/gpio/gpio-mb86s7x.c | 21 +-
drivers/gpio/gpio-mpc8xxx.c | 50 ++++-
drivers/gpio/gpio-msc313.c | 5 +-
drivers/gpio/gpio-pca953x.c | 4 +-
drivers/gpio/gpio-pch.c | 1 -
drivers/gpio/gpio-sama5d2-piobu.c | 18 +-
drivers/gpio/gpio-stmpe.c | 55 ++---
drivers/gpio/gpio-stp-xway.c | 10 +-
drivers/gpio/gpio-syscon.c | 1 -
drivers/gpio/gpio-tegra.c | 5 +-
drivers/gpio/gpio-tegra186.c | 3 +-
drivers/gpio/gpio-thunderx.c | 5 +-
drivers/gpio/gpio-uniphier.c | 5 +-
drivers/gpio/gpio-vf610.c | 31 ++-
drivers/gpio/gpio-virtuser.c | 13 +-
drivers/gpio/gpio-visconti.c | 5 +-
drivers/gpio/gpio-xilinx.c | 11 +-
drivers/gpio/gpio-zynq.c | 10 +-
drivers/gpio/gpiolib-acpi.c | 43 ++--
drivers/gpio/gpiolib-cdev.c | 8 +-
drivers/gpio/gpiolib-devres.c | 120 ++++-------
drivers/gpio/gpiolib-legacy.c | 94 ++++++++-
drivers/gpio/gpiolib-of.c | 92 ++++-----
drivers/gpio/gpiolib-swnode.c | 62 +++---
drivers/gpio/gpiolib-sysfs.c | 6 +-
drivers/gpio/gpiolib.c | 164 +++++++++++----
drivers/gpio/gpiolib.h | 16 +-
drivers/mfd/Kconfig | 12 ++
drivers/mfd/Makefile | 1 +
drivers/mfd/adp5585.c | 205 ++++++++++++++++++
drivers/pwm/Kconfig | 7 +
drivers/pwm/Makefile | 1 +
drivers/pwm/pwm-adp5585.c | 184 +++++++++++++++++
include/linux/gpio.h | 12 +-
include/linux/mfd/adp5585.h | 126 ++++++++++++
include/linux/platform_data/gpio-ath79.h | 16 --
include/linux/platform_data/gpio-davinci.h | 21 --
tools/gpio/Makefile | 2 +-
tools/gpio/gpio-hammer.c | 4 +-
63 files changed, 1503 insertions(+), 643 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/gpio/gpio_lpc32xx.txt
create mode 100644 Documentation/devicetree/bindings/gpio/nxp,lpc3220-gpio.yaml
create mode 100644 Documentation/devicetree/bindings/mfd/adi,adp5585.yaml
create mode 100644 drivers/gpio/gpio-adp5585.c
create mode 100644 drivers/mfd/adp5585.c
create mode 100644 drivers/pwm/pwm-adp5585.c
create mode 100644 include/linux/mfd/adp5585.h
delete mode 100644 include/linux/platform_data/gpio-ath79.h
delete mode 100644 include/linux/platform_data/gpio-davinci.h