[GIT PULL] gpio: updates for v5.16

Bartosz Golaszewski
2021-11-08T13:25:03Z

Linus,

Here are this merge window's updates for the GPIO subsystem. We have a single
new driver, new features in others and some cleanups all over the place.
Nothing really stands out and the PR is relatively small.

There's a single patch for the networking subsystem (Acked by David Miller)
that depends on the GPIO changes and one other for the zynqmp firmware driver
similarly acked by the architecture maintainer - Michal Simek.

Details are in the signed tag.
Please pull.

Best Regards,
Bartosz Golaszewski

The following changes since commit 6880fa6c56601bb8ed59df6c30fd390cc5f6dd8f:

Linux 5.15-rc1 (2021-09-12 16:28:37 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git tags/gpio-updates-for-v5.16

for you to fetch changes up to 7d0003da6297eb128f3490e396e6fc6df71557cd:

virtio_gpio: drop packed attribute (2021-11-04 16:36:54 +0100)

----------------------------------------------------------------
gpio updates for v5.16

- new driver: gpio-modepin (plus relevant change in zynqmp firmware)
- add interrupt support to gpio-virtio
- enable the 'gpio-line-names' property in the DT bindings for gpio-rockchip
- use the subsystem helpers where applicable in gpio-uniphier instead of
accessing IRQ structures directly
- code shrink in gpio-xilinx
- add interrupt to gpio-mlxbf2 (and include the removal of custom interrupt
code from the mellanox ethernet driver)
- support multiple interrupts per bank in gpio-tegra186 (and force one interrupt
per bank in older models)
- fix GPIO line IRQ offset calculation in gpio-realtek-otto
- drop unneeded MODULE_ALIAS expansions in multiple drivers
- code cleanup in gpio-aggregator
- minor improvements in gpio-max730x and gpio-mc33880
- Kconfig cleanups

----------------------------------------------------------------
Asmaa Mnebhi (2):
gpio: mlxbf2: Introduce IRQ support
net: mellanox: mlxbf_gige: Replace non-standard interrupt handling

Geert Uytterhoeven (1):
gpio: aggregator: Wrap access to gpiochip_fwd.tmp[]

Johan Jonker (1):
dt-bindings: gpio: add gpio-line-names to rockchip,gpio-bank.yaml

Krzysztof Kozlowski (2):
gpio: max77620: drop unneeded MODULE_ALIAS
gpio: tps65218: drop unneeded MODULE_ALIAS

Kunihiko Hayashi (2):
gpio: uniphier: Use helper function to get IRQ hardware number
gpio: uniphier: Use helper functions to get private data from IRQ data

Michael S. Tsirkin (1):
virtio_gpio: drop packed attribute

Piyush Mehta (3):
firmware: zynqmp: Add MMIO read and write support for PS_MODE pin
dt-bindings: gpio: zynqmp: Add binding documentation for modepin
gpio: modepin: Add driver support for modepin GPIO controller

Randy Dunlap (1):
gpio: clean up Kconfig file

Sander Vanheule (1):
gpio: realtek-otto: fix GPIO line IRQ offset

Thierry Reding (2):
gpio: tegra186: Force one interrupt per bank
gpio: tegra186: Support multiple interrupts per bank

Uwe Kleine-König (2):
gpio: max730x: Make __max730x_remove() return void
gpio: mc33880: Drop if with an always false condition

Viresh Kumar (1):
gpio: virtio: Add IRQ support

Wolfram Sang (1):
gpio: xilinx: simplify getting .driver_data

.../bindings/gpio/rockchip,gpio-bank.yaml | 2 +
.../bindings/gpio/xlnx,zynqmp-gpio-modepin.yaml | 43 +++
drivers/firmware/xilinx/zynqmp.c | 46 ++++
drivers/gpio/Kconfig | 123 +++++----
drivers/gpio/Makefile | 1 +
drivers/gpio/gpio-aggregator.c | 25 +-
drivers/gpio/gpio-max7300.c | 4 +-
drivers/gpio/gpio-max7301.c | 4 +-
drivers/gpio/gpio-max730x.c | 6 +-
drivers/gpio/gpio-max77620.c | 1 -
drivers/gpio/gpio-mc33880.c | 2 -
drivers/gpio/gpio-mlxbf2.c | 142 +++++++++-
drivers/gpio/gpio-realtek-otto.c | 2 +-
drivers/gpio/gpio-tegra186.c | 114 +++++++-
drivers/gpio/gpio-tps65218.c | 1 -
drivers/gpio/gpio-uniphier.c | 18 +-
drivers/gpio/gpio-virtio.c | 302 ++++++++++++++++++++-
drivers/gpio/gpio-xilinx.c | 6 +-
drivers/gpio/gpio-zynqmp-modepin.c | 162 +++++++++++
drivers/net/ethernet/mellanox/mlxbf_gige/Makefile | 1 -
.../net/ethernet/mellanox/mlxbf_gige/mlxbf_gige.h | 12 -
.../ethernet/mellanox/mlxbf_gige/mlxbf_gige_gpio.c | 212 ---------------
.../ethernet/mellanox/mlxbf_gige/mlxbf_gige_main.c | 22 +-
include/linux/firmware/xlnx-zynqmp.h | 14 +
include/linux/spi/max7301.h | 2 +-
include/uapi/linux/virtio_gpio.h | 27 +-
26 files changed, 943 insertions(+), 351 deletions(-)
create mode 100644 Documentation/devicetree/bindings/gpio/xlnx,zynqmp-gpio-modepin.yaml
create mode 100644 drivers/gpio/gpio-zynqmp-modepin.c
delete mode 100644 drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_gpio.c