[GIT PULL] pin control bulk changes for v7.0
From: Linus Walleij
Date: Mon Feb 16 2026 - 05:25:46 EST
Hi Linus,
here is the bulk of pin control changes for the v7.0 series.
You will get a conflict in drivers/pinctrl/Kconfig, just delete the offending
hunk there: this is because we moved the files to their own subdir in an
early fix in the v6.19-rc:s (IIRC).
Other than that it is mostly drivers here, nothing much exciting. Details
in the signed tag and changes boiled in -next a while.
Please pull it in!
Yours,
Linus Walleij
The following changes since commit 8f0b4cce4481fb22653697cced8d0d04027cb1e8:
Linux 6.19-rc1 (2025-12-14 16:05:07 +1200)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git
tags/pinctrl-v7.0-1
for you to fetch changes up to 9c5a40f2922a5a6d6b42e7b3d4c8e253918c07a1:
pinctrl: generic: move function to amlogic-am4 driver (2026-02-06
12:07:14 +0100)
----------------------------------------------------------------
Pin control changes for the v7.0 kernel cycle:
Core changes:
- Drop the unused devm_pinctrl_unregister() function.
- Move pretended generic pin control functionality out of the
core and into the Amlogic AM4 driver. We have something better
coming (hopefully).
New hardware support:
- Spacemit K3 (RISC-V) pin control support.
- Atmel AT91 PIO4 (ARM32) SAMA7D65 pin control support.
- Exynos9610 (ARM64) pin control support.
- Qualcomm Mahua TLMM (ARM64) pin control support.
- Microchip Polarfire MSSIO (RISC-V) pin control support.
- Ocelot LAN9645XF (multiplatform) pin control support.
Improvements:
- Using a few more guards for locking.
- Various nonurgent fixes and tweaks.
----------------------------------------------------------------
Akari Tsuyukusa (1):
pinctrl: mediatek: remove unused drv_offset field
Akiyoshi Kurita (1):
dt-bindings: pinctrl: intel: keembay: fix typo
Alexandru Chimac (3):
dt-bindings: pinctrl: samsung: Add exynos9610-pinctrl compatible
dt-bindings: pinctrl: samsung: Add exynos9610-wakeup-eint node
pinctrl: samsung: Add Exynos9610 pinctrl configuration
Andrew Jeffery (1):
pinctrl: aspeed: g5: Constrain LPC binding revision workaround to AST2500
Andy Shevchenko (13):
pinctrl: baytrail: Convert to use intel_gpio_add_pin_ranges()
pinctrl: lynxpoint: Convert to use intel_gpio_add_pin_ranges()
pinctrl: intel: platform: Add Nova Lake to the list of supported
pinctrl: intel: Remove duplicate error messages
pinctrl: baytrail: Remove duplicate error messages
pinctrl: cherryview: Remove duplicate error messages
pinctrl: lynxpoint: Remove duplicate error messages
pinctrl: tangier: Remove duplicate error messages
pinctrl: tangier: Join tng_pinctrl_probe() into its wrapper
pinctrl: core: Remove unused devm_pinctrl_unregister()
pinctrl: core: Simplify devm_pinctrl_*()
pinctrl: core: Remove duplicate error messages
pinctrl: intel: Align Copyright note with corporate guidelines
Bartosz Golaszewski (3):
pinctrl: meson: extend build coverage with COMPILE_TEST=y
pinctrl: meson: amlogic-a4: mark the GPIO controller as sleeping
driver core: make pinctrl_bind_pins() private
Chen-Yu Tsai (1):
dt-bindings: pinctrl: sunxi: Allow pinmux sub-pattern with leading numbers
Conor Dooley (7):
pinctrl: move microchip riscv pinctrl drivers to a folder
pinctrl: add generic functions + pins mapper
dt-bindings: pinctrl: document polarfire soc mssio pin controller
pinctrl: add polarfire soc mssio pinctrl driver
MAINTAINERS: add Microchip mpfs mssio driver/bindings to entry
pinctrl: fix kismet issues with GENERIC_PINCTRL
pinctrl: generic: move function to amlogic-am4 driver
Cosmin Tanislav (4):
pinctrl: renesas: rzt2h: Move GPIO enable/disable into separate function
pinctrl: renesas: rzt2h: Allow .get_direction() for IRQ function GPIOs
dt-bindings: pinctrl: renesas,r9a09g077-pinctrl: Document GPIO IRQ
pinctrl: renesas: rzt2h: Add GPIO IRQ chip to handle interrupts
Felix Gu (2):
pinctrl: equilibrium: Fix device node reference leak in pinbank_init()
pinctrl: meson: amlogic-a4: Fix device node reference leak in bank helpers
Gopikrishna Garmidi (2):
dt-bindings: pinctrl: qcom,glymur-tlmm: Document Mahua TLMM block
pinctrl: qcom: glymur: Add Mahua TLMM support
Jens Emil Schulz Østergaard (3):
dt-bindings: pinctrl: ocelot: Add LAN9645x SoC support
pinctrl: ocelot: Update alt mode reg addr calculation
pinctrl: ocelot: Extend support for lan9645xf family
Jiayu Du (1):
pinctrl: canaan: k230: Fix NULL pointer dereference when parsing
devicetree
Johan Hovold (1):
pinctrl: fix compile test defaults
Krzysztof Kozlowski (11):
pinctrl: aspeed: Cleanup header includes
pinctrl: starfive: jh7110-sys: Cleanup header includes
pinctrl: sophgo: Cleanup header includes
pinctrl: amd: Cleanup header includes
pinctrl: aw9523: Simplify locking with guard()
pinctrl: microchip-sgpio: Simplify locking with guard()
pinctrl: tb10x: Simplify locking with guard()
pinctrl: tegra-xusb: Return void in padctl enable/disable functions
pinctrl: tegra-xusb: Simplify locking with guard()
pinctrl: rockchip: Simplify locking with scoped_guard()
pinctrl: st: Annotate st_pinconf_dbg_show() as holding mutex
Liang Jie (1):
pinctrl: mediatek: make devm allocations safer and clearer in
mtk_eint_do_init()
Linus Walleij (6):
pinctrl: apple: Use unsigned int instead of unsigned
pinctrl: apple: Implement GPIO func check callback
Merge tag 'renesas-pinctrl-for-v6.20-tag1' of
git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers
into devel
Merge tag 'samsung-pinctrl-6.20' of
https://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/samsung into
devel
Merge tag 'intel-pinctrl-v6.20-1' of
git://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/intel into devel
Merge tag 'intel-pinctrl-v6.20-2' of
git://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/intel into devel
Luca Weiss (1):
pinctrl: qcom: sm8250-lpass-lpi: Fix i2s2_data_groups definition
Peng Fan (1):
pinctrl: imx: Add support for NXP i.MX952
Raag Jadav (1):
pinctrl: intel: Add code name documentation
Ranjani Vaidyanathan (1):
pinctrl: imx: Support NXP scmi extended mux config
Robert Marko (1):
dt-bindings: pinctrl: pinctrl-microchip-sgpio: add LAN969x
Ryan Wanner (1):
pinctrl: at91-pio4: Add sama7d65 pio4 support
Shiji Yang (1):
pinctrl: mediatek: enable ies_present flag for MT798x
Troy Mitchell (2):
dt-bindings: pinctrl: spacemit: add syscon property
pinctrl: spacemit: support I/O power domain configuration
Wei Li (1):
pinctrl: single: fix refcount leak in pcs_add_gpio_func()
Yixun Lan (6):
dt-bindings: pinctrl: spacemit: convert drive strength to schema format
dt-bindings: pinctrl: spacemit: add K3 SoC support
pinctrl: spacemit: k3: add initial pin support
pinctrl: spacemit: k3: adjust drive strength and schmitter trigger
dt-bindings: pinctrl: spacemit: k3: fix drive-strength doc
dt-bindings: pinctrl: spacemit: fix drive-strength check warning
.../pinctrl/allwinner,sun4i-a10-pinctrl.yaml | 2 +-
.../bindings/pinctrl/intel,pinctrl-keembay.yaml | 2 +-
.../pinctrl/microchip,mpfs-pinctrl-mssio.yaml | 109 +++
.../bindings/pinctrl/microchip,sparx5-sgpio.yaml | 20 +-
.../bindings/pinctrl/mscc,ocelot-pinctrl.yaml | 6 +
.../bindings/pinctrl/qcom,glymur-tlmm.yaml | 6 +-
.../pinctrl/renesas,r9a09g077-pinctrl.yaml | 13 +
.../pinctrl/samsung,pinctrl-wakeup-interrupt.yaml | 1 +
.../bindings/pinctrl/samsung,pinctrl.yaml | 1 +
.../bindings/pinctrl/spacemit,k1-pinctrl.yaml | 27 +-
.../microchip/microchip,mpfs-mss-top-sysreg.yaml | 4 +
Documentation/driver-api/driver-model/devres.rst | 1 -
MAINTAINERS | 6 +-
drivers/base/base.h | 9 +
drivers/base/pinctrl.c | 2 +
drivers/pinctrl/Kconfig | 25 +-
drivers/pinctrl/Makefile | 4 +-
drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c | 4 +-
drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c | 7 +-
drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c | 5 +-
drivers/pinctrl/core.c | 93 +--
drivers/pinctrl/freescale/pinctrl-imx-scmi.c | 20 +-
drivers/pinctrl/intel/Kconfig | 22 +-
drivers/pinctrl/intel/pinctrl-alderlake.c | 2 +-
drivers/pinctrl/intel/pinctrl-baytrail.c | 45 +-
drivers/pinctrl/intel/pinctrl-broxton.c | 2 +-
drivers/pinctrl/intel/pinctrl-cannonlake.c | 2 +-
drivers/pinctrl/intel/pinctrl-cedarfork.c | 2 +-
drivers/pinctrl/intel/pinctrl-cherryview.c | 4 +-
drivers/pinctrl/intel/pinctrl-denverton.c | 2 +-
drivers/pinctrl/intel/pinctrl-elkhartlake.c | 2 +-
drivers/pinctrl/intel/pinctrl-emmitsburg.c | 2 +-
drivers/pinctrl/intel/pinctrl-icelake.c | 2 +-
drivers/pinctrl/intel/pinctrl-intel-platform.c | 2 +-
drivers/pinctrl/intel/pinctrl-intel.c | 4 +-
drivers/pinctrl/intel/pinctrl-intel.h | 2 +-
drivers/pinctrl/intel/pinctrl-jasperlake.c | 2 +-
drivers/pinctrl/intel/pinctrl-lakefield.c | 2 +-
drivers/pinctrl/intel/pinctrl-lewisburg.c | 2 +-
drivers/pinctrl/intel/pinctrl-lynxpoint.c | 31 +-
drivers/pinctrl/intel/pinctrl-merrifield.c | 2 +-
drivers/pinctrl/intel/pinctrl-meteorlake.c | 2 +-
drivers/pinctrl/intel/pinctrl-meteorpoint.c | 2 +-
drivers/pinctrl/intel/pinctrl-moorefield.c | 2 +-
drivers/pinctrl/intel/pinctrl-sunrisepoint.c | 2 +-
drivers/pinctrl/intel/pinctrl-tangier.c | 23 +-
drivers/pinctrl/intel/pinctrl-tangier.h | 2 +-
drivers/pinctrl/intel/pinctrl-tigerlake.c | 2 +-
drivers/pinctrl/mediatek/mtk-eint.c | 29 +-
drivers/pinctrl/mediatek/pinctrl-mt7981.c | 2 +-
drivers/pinctrl/mediatek/pinctrl-mt7986.c | 4 +-
drivers/pinctrl/mediatek/pinctrl-mt7988.c | 2 +-
drivers/pinctrl/mediatek/pinctrl-mt8365.c | 1 -
drivers/pinctrl/mediatek/pinctrl-mtk-common.h | 1 -
drivers/pinctrl/meson/Kconfig | 22 +-
drivers/pinctrl/meson/pinctrl-amlogic-a4.c | 83 ++-
drivers/pinctrl/microchip/Kconfig | 17 +
drivers/pinctrl/microchip/Makefile | 5 +
.../pinctrl/{ => microchip}/pinctrl-mpfs-iomux0.c | 8 +-
drivers/pinctrl/microchip/pinctrl-mpfs-mssio.c | 737 +++++++++++++++++++++
.../{ => microchip}/pinctrl-pic64gx-gpio2.c | 2 +-
drivers/pinctrl/pinconf-generic.c | 69 --
drivers/pinctrl/pinconf.h | 16 +
drivers/pinctrl/pinctrl-amd.c | 2 -
drivers/pinctrl/pinctrl-apple-gpio.c | 18 +-
drivers/pinctrl/pinctrl-at91-pio4.c | 9 +
drivers/pinctrl/pinctrl-aw9523.c | 53 +-
drivers/pinctrl/pinctrl-equilibrium.c | 1 +
drivers/pinctrl/pinctrl-generic.c | 189 ++++++
drivers/pinctrl/pinctrl-k230.c | 7 +-
drivers/pinctrl/pinctrl-microchip-sgpio.c | 6 +-
drivers/pinctrl/pinctrl-ocelot.c | 184 ++++-
drivers/pinctrl/pinctrl-rockchip.c | 19 +-
drivers/pinctrl/pinctrl-scmi.c | 3 +-
drivers/pinctrl/pinctrl-single.c | 2 +
drivers/pinctrl/pinctrl-st.c | 1 +
drivers/pinctrl/pinctrl-tb10x.c | 17 +-
drivers/pinctrl/qcom/pinctrl-glymur.c | 46 +-
drivers/pinctrl/qcom/pinctrl-sm8250-lpass-lpi.c | 2 +-
drivers/pinctrl/renesas/Kconfig | 2 +
drivers/pinctrl/renesas/pinctrl-rzt2h.c | 248 ++++++-
drivers/pinctrl/samsung/pinctrl-exynos-arm64.c | 117 ++++
drivers/pinctrl/samsung/pinctrl-samsung.c | 2 +
drivers/pinctrl/samsung/pinctrl-samsung.h | 1 +
drivers/pinctrl/sophgo/pinctrl-cv18xx.h | 4 -
drivers/pinctrl/sophgo/pinctrl-sg2042.h | 6 -
drivers/pinctrl/spacemit/Kconfig | 4 +-
drivers/pinctrl/spacemit/pinctrl-k1.c | 642 ++++++++++++++++--
.../pinctrl/starfive/pinctrl-starfive-jh7110-sys.c | 3 -
drivers/pinctrl/tegra/pinctrl-tegra-xusb.c | 30 +-
include/linux/pinctrl/devinfo.h | 6 -
include/linux/pinctrl/pinconf-generic.h | 5 -
include/linux/pinctrl/pinctrl.h | 3 -
93 files changed, 2670 insertions(+), 496 deletions(-)
create mode 100644
Documentation/devicetree/bindings/pinctrl/microchip,mpfs-pinctrl-mssio.yaml
create mode 100644 drivers/pinctrl/microchip/Kconfig
create mode 100644 drivers/pinctrl/microchip/Makefile
rename drivers/pinctrl/{ => microchip}/pinctrl-mpfs-iomux0.c (98%)
create mode 100644 drivers/pinctrl/microchip/pinctrl-mpfs-mssio.c
rename drivers/pinctrl/{ => microchip}/pinctrl-pic64gx-gpio2.c (99%)
create mode 100644 drivers/pinctrl/pinctrl-generic.c