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