mbox series

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

Message ID 20240917093957.6073-1-brgl@bgdev.pl
State New
Headers show
Series [GIT,PULL] gpio updates for v6.12-rc1 | expand

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git tags/gpio-updates-for-v6.12-rc1

Message

Bartosz Golaszewski Sept. 17, 2024, 9:39 a.m. UTC
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

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