Hi Linus, pin control is rather boring this time with mainly cleanups. There are some 2-3 new drivers. Some stuff hits drivers/gpio as we split out the Nomadik GPIO driver, but the merge should be painless AFAICT. The main GPIO maintainer Bartosz is in sync. Details are in the signed tag, please pull it in! Yours, Linus Walleij The following changes since commit 6613476e225e090cc9aad49be7fa504e290dd33d: Linux 6.8-rc1 (2024-01-21 14:11:32 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git tags/pinctrl-v6.9-1 for you to fetch changes up to fa63587f94a77a49b53274dc0fd1ea41dfde5966: drivers/gpio/nomadik: move dummy nmk_gpio_dbg_show_one() to header (2024-03-12 12:53:35 +0100) ---------------------------------------------------------------- Pin control changes for the v6.9 kernel cycle: No core changes this time around. New drivers: - New driver for Renesas R8A779H0 also known as R-Car V4M. - New driver for the Awinic AW9523/B I2C GPIO expander. I found this living out-of-tree in OpenWrt as an upstream attempt had stalled on the finishing line, so I picked it up and finished the job. Improvements: - The Nomadik pin control driver was for years re-used out of tree for the ST STA chips, and now the IP was re-used in a MIPS automotive SoC called MobilEyeq5, so it has been split in pin control and GPIO drivers so the latter can be reused by MobilEyeq5. (Along with a long list of cleanups.) - A lot of overall cleanup and tidying up. ---------------------------------------------------------------- Andre Przywara (1): pinctrl: pinmux: Suppress error message for -EPROBE_DEFER Andy Shevchenko (2): pinctrl: nuvoton: Constify wpcm450_groups gpio: nomadik: Finish conversion to use firmware node APIs AngeloGioacchino Del Regno (2): dt-bindings: pinctrl: Add bindings for Awinic AW9523/AW9523B pinctrl: Add driver for Awinic AW9523/B I2C GPIO Expander Arturas Moskvinas (1): pinctrl: mcp23s08: Check only GPIOs which have interrupts enabled Biju Das (4): pinctrl: renesas: rzg2l: Configure interrupt input mode pinctrl: renesas: rzg2l: Simplify rzg2l_gpio_irq_{en,dis}able() pinctrl: renesas: rzg2l: Avoid configuring ISEL in gpio_irq_{en,dis}able*( pinctrl: da9062: Add OF table Charles Keepax (3): pinctrl: cs42l43: Tidy up header includes pinctrl: cs42l43: Remove some needless inlines pinctrl: cs42l43: Use str_high_low() Chen Ni (1): pinctrl: st: Return pinctrl_gpio_direction_output to transfer the error Chen-Yu Tsai (2): pinctrl: mediatek: Drop bogus slew rate register range for MT8186 pinctrl: mediatek: Drop bogus slew rate register range for MT8192 Claudiu Beznea (3): pinctrl: renesas: rzg2l: Fix locking in rzg2l_dt_subnode_to_map() pinctrl: renesas: rzg2l: Select GPIOLIB_IRQCHIP and IRQ_DOMAIN_HIERARCHY pinctrl: renesas: rzg2l: Add suspend/resume support Colin Ian King (1): pinctrl: ocelot: remove redundant assignment to variable ret Cong Dang (13): pinctrl: renesas: Initial R8A779H0 (R-Car V4M) PFC support pinctrl: renesas: r8a779h0: Add Ethernet AVB pins, groups, functions pinctrl: renesas: r8a779h0: Add SD/MMC pins, groups, functions pinctrl: renesas: r8a779h0: Add QSPI pins, groups, functions pinctrl: renesas: r8a779h0: Add SCIF pins, groups, functions pinctrl: renesas: r8a779h0: Add SCIF_CLK pins, groups, functions pinctrl: renesas: r8a779h0: Add HSCIF pins, groups, functions pinctrl: renesas: r8a779h0: Add I2C pins, groups, functions pinctrl: renesas: r8a779h0: Add MSIOF pins, groups, functions pinctrl: renesas: r8a779h0: Add PWM/TPU pins, groups, functions pinctrl: renesas: r8a779h0: Add CANFD pins, groups, functions pinctrl: renesas: r8a779h0: Add PCIe pins, groups, functions pinctrl: renesas: r8a779h0: Add Audio pins, groups, functions Dan Carpenter (2): pinctrl: core: comment that pinctrl_add_gpio_range() is deprecated gpio: nomadik: remove BUG_ON() in nmk_gpio_populate_chip() Erick Archer (1): pinctrl: pinctrl-zynqmp: Use devm_kcalloc() instead of devm_kzalloc() Geert Uytterhoeven (4): pinctrl: renesas: r8a779g0: Add missing SCIF_CLK2 pin group/function pinctrl: renesas: checker: Limit cfg reg enum checks to provided IDs dt-bindings: pinctrl: renesas,pfc: Document R-Car V4M support pinctrl: renesas: Allow the compiler to optimize away sh_pfc_pm Jean Thomas (2): pinctrl: mediatek: mt7981: add additional uart group pinctrl: mediatek: mt7981: add additional emmc groups Krzysztof Kozlowski (2): dt-bindings: pinctrl: amlogic: narrow regex for unit address to hex numbers pinctrl: qcom: sm8650-lpass-lpi: correct Kconfig name Lad Prabhakar (3): pinctrl: renesas: rzg2l: Improve code for readability pinctrl: renesas: rzg2l: Include pinmap in RZG2L_GPIO_PORT_PACK() macro pinctrl: renesas: pinctrl-rzg2l: Add the missing port pins P19 to P28 Linus Walleij (6): Merge tag 'renesas-pinctrl-for-v6.9-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers into devel Merge tag 'renesas-pinctrl-for-v6.9-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers into devel pinctrl: aw9523: Add proper terminator gpio: nomadik: Back out some managed resources Merge branch 'ib-nomadik-gpio' into devel pinctrl: aw9523: Make the driver tristate Max Kellermann (1): drivers/gpio/nomadik: move dummy nmk_gpio_dbg_show_one() to header Michal Simek (1): dt-bindings: pinctr: pinctrl-zynq: Fix compatible string Naresh Solanki (1): dt-bindings: pinctrl: cy8c95x0: Update gpio-reserved-ranges Randy Dunlap (1): pinctrl: mt7986: excise kernel-doc warnings Rob Herring (3): dt-bindings: pinctrl: Unify "input-debounce" schema dt-bindings: pinctrl: nuvoton,npcm845: Drop redundant type for "slew-rate" dt-bindings: pinctrl: nvidia,tegra234-pinmux: Restructure common schema Tengfei Fan (1): dt-bindings: pinctrl: qcom: update compatible name for match with driver Théo Lebrun (28): dt-bindings: pinctrl: mobileye,eyeq5-pinctrl: add bindings dt-bindings: gpio: nomadik: convert into yaml format dt-bindings: gpio: nomadik: add optional ngpios property dt-bindings: gpio: nomadik: add mobileye,eyeq5-gpio compatible dt-bindings: gpio: nomadik: add optional reset property gpio: nomadik: fix offset bug in nmk_pmx_set() gpio: nomadik: extract GPIO platform driver from drivers/pinctrl/nomadik/ pinctrl: nomadik: Kconfig: allow building with COMPILE_TEST pinctrl: nomadik: fix build warning (-Wformat) pinctrl: nomadik: fix build warning (-Wpointer-to-int-cast) pinctrl: nomadik: minimise indentation in probe pinctrl: nomadik: follow type-system kernel coding conventions pinctrl: nomadik: follow whitespace kernel coding conventions pinctrl: nomadik: follow conditional kernel coding conventions gpio: nomadik: add #include <linux/slab.h> gpio: nomadik: replace of_find_*() by bus_find_device_by_of_node() gpio: nomadik: replace of_property_read_*() by device_property_read_*() gpio: nomadik: use devm_platform_ioremap_resource() helper gpio: nomadik: use devres version of clk_get*() gpio: nomadik: request dynamic ID allocation gpio: nomadik: make clock optional gpio: nomadik: change driver name from gpio to nomadik-gpio gpio: nomadik: support shared GPIO IRQs gpio: nomadik: handle variadic GPIO count gpio: nomadik: support mobileye,eyeq5-gpio gpio: nomadik: grab optional reset control and deassert it at probe gpio: nomadik: fix Kconfig dependencies inbetween pinctrl & GPIO pinctrl: nomadik: fix dereference of error pointer Varshini Rajendran (1): dt-bindings: pinctrl: at91: add sam9x7 .../devicetree/bindings/gpio/gpio-nmk.txt | 31 - .../devicetree/bindings/gpio/st,nomadik-gpio.yaml | 95 + .../bindings/pinctrl/amlogic,meson-pinctrl-a1.yaml | 2 +- .../pinctrl/amlogic,meson-pinctrl-g12a-aobus.yaml | 2 +- .../amlogic,meson-pinctrl-g12a-periphs.yaml | 2 +- .../pinctrl/amlogic,meson8-pinctrl-aobus.yaml | 2 +- .../pinctrl/amlogic,meson8-pinctrl-cbus.yaml | 2 +- .../bindings/pinctrl/atmel,at91-pinctrl.txt | 2 + .../bindings/pinctrl/awinic,aw9523-pinctrl.yaml | 139 + .../devicetree/bindings/pinctrl/cirrus,madera.yaml | 3 +- .../bindings/pinctrl/cypress,cy8c95x0.yaml | 24 +- .../bindings/pinctrl/mobileye,eyeq5-pinctrl.yaml | 242 ++ .../bindings/pinctrl/nuvoton,npcm845-pinctrl.yaml | 2 - .../bindings/pinctrl/nuvoton,wpcm450-pinctrl.yaml | 3 +- .../pinctrl/nvidia,tegra234-pinmux-aon.yaml | 7 +- .../pinctrl/nvidia,tegra234-pinmux-common.yaml | 84 +- .../bindings/pinctrl/nvidia,tegra234-pinmux.yaml | 7 +- .../devicetree/bindings/pinctrl/pincfg-node.yaml | 2 +- .../bindings/pinctrl/qcom,sm4450-tlmm.yaml | 2 +- .../devicetree/bindings/pinctrl/renesas,pfc.yaml | 1 + ...nx,zynq-pinctrl.yaml => xlnx,pinctrl-zynq.yaml} | 6 +- MAINTAINERS | 2 + arch/riscv/boot/dts/renesas/r9a07g043f.dtsi | 4 + drivers/gpio/Kconfig | 12 + drivers/gpio/Makefile | 1 + drivers/gpio/gpio-nomadik.c | 730 ++++ drivers/pinctrl/Kconfig | 18 + drivers/pinctrl/Makefile | 1 + drivers/pinctrl/cirrus/pinctrl-cs42l43.c | 18 +- drivers/pinctrl/core.c | 4 + drivers/pinctrl/mediatek/pinctrl-mt7981.c | 24 +- drivers/pinctrl/mediatek/pinctrl-mt7986.c | 2 +- drivers/pinctrl/mediatek/pinctrl-mt8186.c | 1 - drivers/pinctrl/mediatek/pinctrl-mt8192.c | 1 - drivers/pinctrl/nomadik/Kconfig | 8 +- drivers/pinctrl/nomadik/pinctrl-nomadik-db8500.c | 3 +- drivers/pinctrl/nomadik/pinctrl-nomadik-stn8815.c | 3 +- drivers/pinctrl/nomadik/pinctrl-nomadik.c | 955 +---- drivers/pinctrl/nuvoton/pinctrl-wpcm450.c | 2 +- drivers/pinctrl/pinctrl-aw9523.c | 1119 ++++++ drivers/pinctrl/pinctrl-da9062.c | 7 + drivers/pinctrl/pinctrl-mcp23s08.c | 15 +- drivers/pinctrl/pinctrl-ocelot.c | 1 - drivers/pinctrl/pinctrl-st.c | 3 +- drivers/pinctrl/pinctrl-zynqmp.c | 8 +- drivers/pinctrl/pinmux.c | 6 +- drivers/pinctrl/qcom/Kconfig | 2 +- drivers/pinctrl/renesas/Kconfig | 7 + drivers/pinctrl/renesas/Makefile | 1 + drivers/pinctrl/renesas/core.c | 14 +- drivers/pinctrl/renesas/pfc-r8a779g0.c | 14 + drivers/pinctrl/renesas/pfc-r8a779h0.c | 3967 ++++++++++++++++++++ drivers/pinctrl/renesas/pinctrl-rzg2l.c | 790 +++- drivers/pinctrl/renesas/sh_pfc.h | 1 + .../linux/gpio/gpio-nomadik.h | 138 +- 55 files changed, 7496 insertions(+), 1046 deletions(-) delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-nmk.txt create mode 100644 Documentation/devicetree/bindings/gpio/st,nomadik-gpio.yaml create mode 100644 Documentation/devicetree/bindings/pinctrl/awinic,aw9523-pinctrl.yaml create mode 100644 Documentation/devicetree/bindings/pinctrl/mobileye,eyeq5-pinctrl.yaml rename Documentation/devicetree/bindings/pinctrl/{xlnx,zynq-pinctrl.yaml => xlnx,pinctrl-zynq.yaml} (98%) create mode 100644 drivers/gpio/gpio-nomadik.c create mode 100644 drivers/pinctrl/pinctrl-aw9523.c create mode 100644 drivers/pinctrl/renesas/pfc-r8a779h0.c rename drivers/pinctrl/nomadik/pinctrl-nomadik.h => include/linux/gpio/gpio-nomadik.h (59%)