mbox series

[GIT,PULL] gpio: updates for v6.3

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

Pull-request

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

Message

Bartosz Golaszewski Feb. 22, 2023, 9:29 a.m. UTC
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

Linus,

Here are the GPIO updates for this release cycle. It's a rather small one,
there are no new drivers, just improvements and refactoring in existing ones.
Thanks to migrating of several drivers to using generalized APIs and dropping
of OF interfaces in favor of using software nodes we're actually removing more
code than we're adding.

Details are in the signed tag and everything has been in next for at least two
weeks (most much more than that).

Please pull,
Bartosz

The following changes since commit 6d796c50f84ca79f1722bb131799e5a5710c4700:

  Linux 6.2-rc6 (2023-01-29 13:59:43 -0800)

are available in the Git repository at:

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

for you to fetch changes up to 4827aae061337251bb91801b316157a78b845ec7:

  gpio: sim: Use %pfwP specifier instead of calling fwnode API directly (2023-02-13 14:48:35 +0100)

----------------------------------------------------------------
gpio updates for v6.3

Core GPIOLIB:
- drop several OF interfaces after moving a significant part of the code to
  using software nodes
- remove more interfaces referring to the global GPIO numberspace that we're
  getting rid of
- improvements in the gpio-regmap library
- add helper for GPIO device reference counting
- remove unused APIs
- minor tweaks like sorting headers alphabetically

Extended support in existing drivers:
- add support for Tegra 234 PMC to gpio-tegra186

Driver improvements:
- migrate the 104-dio/idi family of drivers to using the regmap-irq API
- migrate gpio-i8255 and gpio-mm to the GPIO regmap API
- clean-ups in gpio-pca953x
- remove duplicate assignments of of_gpio_n_cells in gpio-davinci, gpio-ge,
  gpio-xilinx, gpio-zevio and gpio-wcd934x
- improvements to gpio-pcf857x: implement get/set_multiple callbacks, use
  generic device properties instead of OF + minor tweaks
- fix OF-related header includes and Kconfig dependencies in gpio-zevio
- dynamically allocate the GPIO base in gpio-omap
- use a dedicated printf specifier for printing fwnode info in gpio-sim
- use dev_name() for the GPIO chip label in gpio-vf610
- other minor tweaks and fixes

Documentation:
- remove mentions of legacy API from comments in various places
- convert the DT binding documents to YAML schema for Fujitsu MB86S7x, Unisoc
  GPIO and Unisoc EIC
- document the Unisoc UMS512 controller in DT bindings

----------------------------------------------------------------
Andreas Kemnade (1):
      gpio: omap: use dynamic allocation of base

Andy Shevchenko (23):
      gpio: pca953x: Clean up pcal6534_check_register()
      gpio: pca953x: Remove unused PCAL953X_OUT_CONF from pcal6534_recalc_addr()
      gpio: Remove unused and obsoleted gpio_export_link()
      gpiolib: Introduce gpio_device_get() and gpio_device_put()
      gpiolib: Get rid of not used of_node member
      gpiolib: sort header inclusion alphabetically
      gpiolib: Do not mention legacy API in the code
      gpiolib: Remove unused of_mm_gpiochip_add()
      gpio: davinci: Do not mention legacy API in the code
      gpio: Remove unused and obsoleted irq_to_gpio()
      gpio: davinci: Remove duplicate assignment of of_gpio_n_cells
      gpio: ge: Remove duplicate assignment of of_gpio_n_cells
      gpio: xilinx: Remove duplicate assignment of of_gpio_n_cells
      gpio: zevio: Remove duplicate assignment of of_gpio_n_cells
      gpio: zevio: Use proper headers and drop OF_GPIO dependency
      gpio: wcd934x: Remove duplicate assignment of of_gpio_n_cells
      gpio: rockchip: Do not mention legacy API in the code
      gpio: pcf857x: Get rid of legacy platform data
      gpio: pcf857x: Make use of device properties
      gpio: pcf857x: Drop unneeded explicit casting
      gpio: zevio: Add missing header
      gpiolib: of: Move enum of_gpio_flags to its only user
      gpio: sim: Use %pfwP specifier instead of calling fwnode API directly

Bartosz Golaszewski (1):
      gpio: pca9570: rename platform_data to chip_data

Chunyan Zhang (3):
      dt-bindings: gpio: Convert Unisoc GPIO controller binding to yaml
      dt-bindings: gpio: Convert Unisoc EIC controller binding to yaml
      dt-bindings: gpio: Add compatible string for Unisoc UMS512

Dmitry Torokhov (5):
      gpiolib: of: remove of_gpio_count()
      gpiolib: of: stop exporting of_gpio_named_count()
      gpiolib: of: remove obsolete comment for of_gpio_get_count()
      gpiolib: of: remove of_get_gpio[_flags]() and of_get_named_gpio_flags()
      gpiolib: of: remove [devm_]gpiod_get_from_of_node() APIs

Haibo Chen (2):
      gpio: pca953x: avoid logically dead code
      gpio: vf610: connect GPIO label to dev name

Johan Hovold (1):
      gpiolib: use irq_domain_alloc_irqs()

Linus Walleij (1):
      gpio: Get rid of gpio_to_chip()

Michael Walle (1):
      gpio: regmap: use new regmap_might_sleep()

Prathamesh Shete (1):
      gpio: tegra186: add Tegra234 PMC compatible in GPIO driver

Radu Rendec (3):
      gpio: pcf857x: Replace 'unsigned' with 'unsigned int'
      gpio: pcf857x: Fix indentation of variable declarations
      gpio: pcf857x: Implement get_multiple/set_multiple methods

Rob Herring (1):
      dt-bindings: gpio: Convert Fujitsu MB86S7x GPIO to DT schema

Tom Rix (1):
      gpio: tegra186: remove unneeded loop in tegra186_gpio_init_route_mapping()

Uwe Kleine-König (2):
      gpio: msc313: Drop empty platform remove function
      gpio: mvebu: Use IS_REACHABLE instead of IS_ENABLED for CONFIG_PWM

William Breathitt Gray (8):
      gpio: regmap: Always set gpio_chip get_direction
      gpio: 104-dio-48e: Migrate to the regmap-irq API
      gpio: 104-idi-48: Migrate to the regmap-irq API
      gpio: 104-idi-48: Migrate to gpio-regmap API
      gpio: i8255: Migrate to gpio-regmap API
      gpio: 104-dio-48e: Migrate to regmap API
      gpio: gpio-mm: Migrate to regmap API
      gpio: i8255: Remove unused legacy interface

 .../bindings/gpio/fujitsu,mb86s70-gpio.txt         |  20 --
 .../bindings/gpio/fujitsu,mb86s70-gpio.yaml        |  50 +++
 .../devicetree/bindings/gpio/gpio-eic-sprd.txt     |  97 -----
 .../devicetree/bindings/gpio/gpio-sprd.txt         |  28 --
 .../devicetree/bindings/gpio/sprd,gpio-eic.yaml    | 124 +++++++
 .../devicetree/bindings/gpio/sprd,gpio.yaml        |  75 ++++
 Documentation/driver-api/gpio/legacy.rst           |  17 -
 .../translations/zh_CN/driver-api/gpio/legacy.rst  |  15 -
 Documentation/translations/zh_TW/gpio.txt          |  16 -
 arch/m68k/include/asm/gpio.h                       |   7 -
 arch/sh/include/asm/gpio.h                         |   5 -
 drivers/gpio/Kconfig                               |  10 +-
 drivers/gpio/TODO                                  |   4 +-
 drivers/gpio/gpio-104-dio-48e.c                    | 398 +++++++--------------
 drivers/gpio/gpio-104-idi-48.c                     | 336 ++++++-----------
 drivers/gpio/gpio-davinci.c                        |   3 +-
 drivers/gpio/gpio-ge.c                             |   1 -
 drivers/gpio/gpio-gpio-mm.c                        | 154 ++------
 drivers/gpio/gpio-i8255.c                          | 320 +++++------------
 drivers/gpio/gpio-i8255.h                          |  54 ++-
 drivers/gpio/gpio-msc313.c                         |   6 -
 drivers/gpio/gpio-mvebu.c                          |   6 +-
 drivers/gpio/gpio-omap.c                           |   2 +-
 drivers/gpio/gpio-pca953x.c                        |  34 +-
 drivers/gpio/gpio-pca9570.c                        |  24 +-
 drivers/gpio/gpio-pcf857x.c                        | 118 +++---
 drivers/gpio/gpio-regmap.c                         |  17 +-
 drivers/gpio/gpio-rockchip.c                       |   2 +-
 drivers/gpio/gpio-sim.c                            |   9 +-
 drivers/gpio/gpio-tegra186.c                       |  41 +--
 drivers/gpio/gpio-vf610.c                          |   2 +-
 drivers/gpio/gpio-wcd934x.c                        |   1 -
 drivers/gpio/gpio-xilinx.c                         |  11 -
 drivers/gpio/gpio-zevio.c                          |   9 +-
 drivers/gpio/gpiolib-acpi.c                        |  10 -
 drivers/gpio/gpiolib-acpi.h                        |   4 -
 drivers/gpio/gpiolib-cdev.c                        |  21 +-
 drivers/gpio/gpiolib-devres.c                      |  55 ---
 drivers/gpio/gpiolib-of.c                          | 135 +++----
 drivers/gpio/gpiolib-of.h                          |   5 -
 drivers/gpio/gpiolib.c                             |  70 ++--
 drivers/gpio/gpiolib.h                             |  10 +
 drivers/pinctrl/core.c                             |  14 +-
 include/asm-generic/gpio.h                         |  12 -
 include/linux/gpio.h                               |  20 --
 include/linux/gpio/consumer.h                      |  48 ---
 include/linux/gpio/driver.h                        |   9 +-
 include/linux/of_gpio.h                            | 102 +-----
 include/linux/platform_data/pcf857x.h              |  45 ---
 49 files changed, 886 insertions(+), 1690 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/gpio/fujitsu,mb86s70-gpio.txt
 create mode 100644 Documentation/devicetree/bindings/gpio/fujitsu,mb86s70-gpio.yaml
 delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-eic-sprd.txt
 delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-sprd.txt
 create mode 100644 Documentation/devicetree/bindings/gpio/sprd,gpio-eic.yaml
 create mode 100644 Documentation/devicetree/bindings/gpio/sprd,gpio.yaml
 delete mode 100644 include/linux/platform_data/pcf857x.h