linux/drivers/pinctrl
Linus Torvalds 53c7db5c19 Pin control changes for the v7.2 kernel cycle:
Core changes:
 
 - Add new generic callbacks to populate per-pin pin controllers creating
   groups and functions from the device tree building out
   pinctrl_generic_to_map() and move the Spacemit driver over to use this.
 
 - Generic board-level pin control driver using the mux framework.
 
 New drivers:
 
 - Amlogic (meson) A9 SoC pin controller.
 
 - Aspeed AST2700 SoC0 and SoC1 pin controllers.
 
 - nVidia Tegra264 pin controller.
 
 - nVidia Tegra238 pin controller.
 
 - Qualcomm Nord TLMM pin controller.
 
 - Qualcomm Shikra TLMM pin controller.
 
 - Qualcomm SM6350 LPASS LPI pin controller.
 
 - Qualcomm IPQ9650 TLMM pin controller.
 
 - Renesas RZ/G3L SoC pin controller.
 
 - UltraRISC DP1000 pin controller.
 
 Improvements:
 
 - Handle pull up/pull down properly in the Renesas RZG2L driver.
 
 - Fix up nVidia Tegra 234 DT bindings.
 
 - Fix up pin definitions in the Qualcomm Eliza driver.
 
 - Qualcomm PM8010 GPIO support in the PM8010 pin controller.
 
 - Qualcomm SM6115 EGPIO support in the SM6115 pin controller.
 
 - Switch Qualcomm LPASS LPI drivers to use runtime PM for power management.
 
 - Clean up the Qualcomm Kconfig business a bit to include the necessary
   drivers for each subarch.
 
 - Fix output glitch in the Amlogic (meson) A4 pin controller.
 
 - Move the Airoha driver from the Mediatek directory to its own directory.
   It is too different from other Mediatek hardware.
 
 - A slew of fixes to the Airoha AN7581 and AN7583 drivers.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAmoz6V8ACgkQQRCzN7AZ
 XXNvUg/9ExEBVgJFo0yFKqQfwyr0sVHHjFwbAuWZnoBz7qPS0tRTfQ1GeJclqa9a
 7hWkYM0wFWxZ0UpMI+DZI7rvhvg0mLDuU6Fjd8GOgPUISVgvejenqxCGsYTGLNHF
 DsAzGMD42aj+Jt4eL3wBumrKrBS7J36sBfn5wUMcQgFtTjp+2SwDJxntPIfKRH8Q
 l3arrJ+C3cStOwMKGa//S5c/qy2mijaTPKU+NzFrrmD/wZEYzzSLHcS1v4kBSVab
 vVa32q6A5UZtKyPupFxVSICZEtz0/Lze381ppFef+h/txDaHlLwAKZvMLNcoJXt6
 8AJu+q0DNP71mNNpr/51c8ZsAcV8kyc//CCjpV6vGwg2Pk2HnjBRWdOhzeY4H1z1
 eESKEw9GJGdEeO3Ua6CV6FgXVxLGRnLigU9RC4zP0M8qwZuh/z3F3WxKKTWKZIpK
 w0UF+Sl+KrW8qjQRyISsDXphT1fyglQGMrNntL4ihHq/T5JJGF9qjlJMKooZSkiH
 oswB14JGVkNU4XGpG76I6IgbJJcaVe8CDGSdfRoVmTQ1sI3gHrO42eQdlWxbJ9x/
 DgzL7bnO4os+vq5YJo6YdMsQYI0wpIqTWU7WRGfmCQYkyAVYPRVq+AE7KGlRZjbN
 qoqQ9ychYaqKcO94F4vc5ZvhRJkcqIsxNRJel3dky0h8Brq2PZ8=
 =5CSf
 -----END PGP SIGNATURE-----

Merge tag 'pinctrl-v7.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl

Pull pin control updates from Linus Walleij:
 "Core changes:

   - Add new generic callbacks to populate per-pin pin controllers
     creating groups and functions from the device tree building out
     pinctrl_generic_to_map() and move the Spacemit driver over to use
     this

   - Generic board-level pin control driver using the mux framework

  New pin controller drivers:

   - Amlogic (meson) A9 SoC

   - Aspeed AST2700 SoC0 and SoC1

   - nVidia Tegra264 and Tegra238

   - Qualcomm Nord TLMM, Shikra TLMM, SM6350 LPASS LPI, and IPQ9650 TLMM

   - Renesas RZ/G3L SoC

   - UltraRISC DP1000

  Improvements:

   - Handle pull up/pull down properly in the Renesas RZG2L driver

   - Fix up nVidia Tegra 234 DT bindings

   - Fix up pin definitions in the Qualcomm Eliza driver

   - Qualcomm PM8010 GPIO support in the PM8010

   - Qualcomm SM6115 EGPIO support in the SM6115

   - Switch Qualcomm LPASS LPI drivers to use runtime PM for power
     management

   - Clean up the Qualcomm Kconfig business a bit to include the
     necessary drivers for each subarch

   - Fix output glitch in the Amlogic (meson) A4 pin controller

   - Move the Airoha driver from the Mediatek directory to its own
     directory. It is too different from other Mediatek hardware

   - A slew of fixes to the Airoha AN7581 and AN7583 drivers"

* tag 'pinctrl-v7.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (151 commits)
  pinctrl: Export pinctrl_get_group_selector()
  pinctrl: Match DT helper types
  pinctrl: qcom: Register functions before enabling pinctrl
  pinctrl: meson: amlogic-a4: use nolock get range
  pinctrl: ultrarisc: Add UltraRISC DP1000 pinctrl driver
  dt-bindings: pinctrl: Add UltraRISC DP1000 pinctrl controller
  pinctrl: qcom: Remove unused macro definitions
  pinctrl: tegra: PINCTRL_TEGRA264 should depend on ARCH_TEGRA
  pinctrl: tegra: PINCTRL_TEGRA238 should depend on ARCH_TEGRA
  pinctrl: tegra238: add missing AON pin groups
  dt-bindings: pinctrl: tegra238: add missing AON pin groups
  pinctrl: airoha: an7583: remove undefined groups from pcm_spi pin function
  pinctrl: airoha: an7583: fix phy1_led1 pin function
  pinctrl: airoha: an7583: add missed gpio22 pin group
  pinctrl: airoha: an7583: fix gpio21 pin group
  pinctrl: airoha: fix pwm pin function for an7581 and an7583
  pinctrl: airoha: an7583: fix incorrect led mapping in phy4_led1 pin function
  pinctrl: airoha: an7581: fix incorrect led mapping in phy4_led1 pin function
  pinctrl: airoha: an7583: fix misprint in gpio19 pinconf
  pinctrl: airoha: an7581: fix misprint in gpio19 pinconf
  ...
2026-06-18 15:03:21 -07:00
..
actions pinctrl: actions: fix SPDX comment style in header 2026-05-27 15:15:03 +02:00
airoha pinctrl: airoha: an7583: remove undefined groups from pcm_spi pin function 2026-06-11 13:52:49 +02:00
aspeed pinctrl: aspeed: Fix GPIO mux value for ADC-capable balls 2026-06-08 10:18:52 +02:00
bcm pinctrl: Match DT helper types 2026-06-13 00:22:16 +02:00
berlin Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
cirrus pinctrl: Use named initializers for platform_device_id arrays 2026-05-29 22:47:44 +02:00
cix pinctrl: cix: sky1: Unexport sky1_pinctrl_pm_ops 2026-02-24 10:51:29 +01:00
freescale pinctrl: imx1: Allow parsing DT without function nodes 2026-05-11 21:55:23 +02:00
intel intel-pinctrl for v7.2-1 2026-06-01 15:24:03 +02:00
mediatek Pin control changes for the v7.2 kernel cycle: 2026-06-18 15:03:21 -07:00
meson Pin control changes for the v7.2 kernel cycle: 2026-06-18 15:03:21 -07:00
microchip pinctrl: microchip-mssio: Fix missing return in probe 2026-03-03 08:33:42 +01:00
mvebu Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
nomadik pinctrl: abx500: Fix type of 'argument' variable 2026-03-23 14:26:06 +01:00
nuvoton pinctrl: nuvoton: ma35d1: fix MFP register offset and pin table 2026-05-27 14:17:14 +02:00
nxp pinctrl: s32cc: use dev_err_probe() and improve error messages 2026-05-25 10:44:53 +02:00
pxa pinctrl: pxa2xx: use devm_kmemdup_array() 2025-02-24 12:08:52 +02:00
qcom Pin control changes for the v7.2 kernel cycle: 2026-06-18 15:03:21 -07:00
realtek pinctrl: realtek: Fix typo 2026-05-11 22:07:41 +02:00
renesas pinctrl: renesas: Updates for v7.2 (take three) 2026-06-09 00:59:55 +02:00
samsung pinctrl: samsung: Add Exynos9610 pinctrl configuration 2026-01-11 12:10:29 +01:00
sophgo pinctrl: sophgo: Use FIELD_MODIFY() 2026-05-27 14:11:23 +02:00
spacemit pinctrl: spacemit: Use FIELD_MODIFY() 2026-05-27 14:11:23 +02:00
spear Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
sprd pinctrl: Simplify printks with pOF format 2025-09-12 14:19:31 +02:00
starfive pinctrl: starfive: jh7110: Avoid ifdeffery 2026-05-25 10:13:43 +02:00
stm32 soc: drivers for 7.1 2026-04-16 20:34:34 -07:00
sunplus pinctrl: Kconfig: drop unneeded dependencies on OF_GPIO 2026-03-10 10:10:50 +01:00
sunxi pinctrl: sunxi: a523: Remove unneeded IRQ remuxing flag 2026-06-11 13:47:52 +02:00
tegra pinctrl: tegra: PINCTRL_TEGRA264 should depend on ARCH_TEGRA 2026-06-11 14:04:44 +02:00
ti pinctrl: ti: ti-iodelay: Constify struct ti_iodelay_reg_data 2024-08-05 09:22:33 +02:00
ultrarisc pinctrl: ultrarisc: Add UltraRISC DP1000 pinctrl driver 2026-06-11 15:02:35 +02:00
uniphier pinctrl: uniphier: Do not enable by default during compile testing 2025-04-15 10:08:42 +02:00
visconti
vt8500 pinctrl: vt8500: Enable compile testing 2026-04-28 11:09:41 +02:00
core.c pinctrl: Export pinctrl_get_group_selector() 2026-06-15 15:01:15 +02:00
core.h pinctrl: Constify pointers to 'pinctrl_desc' 2025-06-18 13:26:36 +02:00
devicetree.c pinctrl: Fix spelling problem 2026-02-23 11:15:32 +01:00
devicetree.h
Kconfig pinctrl: ultrarisc: Add UltraRISC DP1000 pinctrl driver 2026-06-11 15:02:35 +02:00
Makefile pinctrl: ultrarisc: Add UltraRISC DP1000 pinctrl driver 2026-06-11 15:02:35 +02:00
pinconf-generic.c pinctrl: pinconf-generic: fix properties bitmap leak in parse_fw_cfg() 2026-04-28 11:42:09 +02:00
pinconf.c pinctrl: core: Make pin group callbacks optional for pin-only drivers 2026-05-25 09:51:22 +02:00
pinconf.h pinctrl: add new generic groups/function creation function for pinmux 2026-05-26 13:32:52 +02:00
pinctrl-amd.c Revert "pinctrl-amd: enable IRQ for WACF2200 touchscreen on Lenovo Yoga 7 14AGP11" 2026-05-30 00:00:33 +02:00
pinctrl-amd.h pinctrl: amd: Take suspend type into consideration which pins are non-wake 2025-01-14 14:33:59 +01:00
pinctrl-amdisp.c pinctrl: amdisp: Make amdisp_pinctrl_ops variable static 2026-02-24 10:51:29 +01:00
pinctrl-amdisp.h pinctrl: amd: isp411: Add amdisp GPIO pinctrl 2025-03-05 08:47:43 +01:00
pinctrl-apple-gpio.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
pinctrl-artpec6.c pinctrl: Constify static 'pinctrl_desc' 2025-06-18 13:26:37 +02:00
pinctrl-as3722.c treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
pinctrl-at91-pio4.c pinctrl: at91-pio4: Add sama7d65 pio4 support 2026-01-07 15:22:14 +01:00
pinctrl-at91.c treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
pinctrl-at91.h
pinctrl-aw9523.c pinctrl: Use named initializers for arrays of i2c_device_data 2026-06-10 23:21:19 +02:00
pinctrl-axp209.c treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
pinctrl-bm1880.c pinctrl: Constify static 'pinctrl_desc' 2025-06-18 13:26:37 +02:00
pinctrl-cy8c95x0.c pinctrl: Use named initializers for arrays of i2c_device_data 2026-06-10 23:21:19 +02:00
pinctrl-da850-pupd.c
pinctrl-da9062.c treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
pinctrl-digicolor.c treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
pinctrl-eic7700.c pinctrl: eswin: Fix regulator error check and Kconfig dependency 2025-09-08 14:23:51 +02:00
pinctrl-ep93xx.c pinctrl: ep93xx: Fix raster pins typo 2024-09-16 11:16:15 +00:00
pinctrl-equilibrium.c pinctrl: equilibrium: Fix type in .pin_config_group_get() callback 2026-05-06 21:05:15 +02:00
pinctrl-equilibrium.h pinctrl: equilibrium: use new generic GPIO chip API 2025-08-19 11:41:38 +02:00
pinctrl-eyeq5.c pinctrl: eyeq5: Add Mobileye EyeQ6Lplus OLB 2026-04-13 15:31:41 +02:00
pinctrl-falcon.c pinctrl: falcon: mark pinctrl_falcon_init() as static 2025-06-24 21:01:31 +02:00
pinctrl-gemini.c pinctrl: Use str_enable_disable-like helpers 2025-01-15 12:52:26 +01:00
pinctrl-generic-mux.c pinctrl: add generic board-level pinctrl driver using mux framework 2026-05-05 14:48:55 +02:00
pinctrl-generic.c pinctrl: add new generic groups/function creation function for pinmux 2026-05-26 13:32:52 +02:00
pinctrl-ingenic.c pinctrl: ingenic: Fix type in .pin_config_group_get() callback 2026-05-06 21:05:15 +02:00
pinctrl-k210.c pinctrl: generic: rename PIN_CONFIG_OUTPUT to LEVEL 2025-09-08 14:24:20 +02:00
pinctrl-k230.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
pinctrl-keembay.c pinctrl: keembay: fix double free in keembay_build_functions() 2025-09-08 14:24:12 +02:00
pinctrl-lantiq.c
pinctrl-lantiq.h
pinctrl-loongson2.c pinctrl: loongson2: fix module autoloading 2024-04-17 10:43:50 +02:00
pinctrl-lpc18xx.c pinctrl: Constify static 'pinctrl_desc' 2025-06-18 13:26:37 +02:00
pinctrl-max7360.c pinctrl: Add MAX7360 pinctrl driver 2025-09-16 15:24:48 +01:00
pinctrl-max77620.c pinctrl: max77620: Unify usage of space and comma in platform_device_id array 2026-05-29 22:47:44 +02:00
pinctrl-mcp23s08_i2c.c pinctrl: Use named initializers for arrays of i2c_device_data 2026-06-10 23:21:19 +02:00
pinctrl-mcp23s08_spi.c pinctrl: Match DT helper types 2026-06-13 00:22:16 +02:00
pinctrl-mcp23s08.c pinctrl: mcp23s08: Disable all pin interrupts during probe 2026-04-07 11:29:57 +02:00
pinctrl-mcp23s08.h
pinctrl-microchip-sgpio.c pinctrl: microchip-sgpio: Simplify locking with guard() 2026-01-19 01:11:47 +01:00
pinctrl-mlxbf3.c pinctrl: Constify static 'pinctrl_desc' 2025-06-18 13:26:37 +02:00
pinctrl-ocelot.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
pinctrl-palmas.c pinctrl: palmas: Move fixed assignments to 'pinctrl_desc' definition 2025-06-18 13:26:37 +02:00
pinctrl-pef2256.c
pinctrl-pic32.c pinctrl: pinctrl-pic32: Use devres version of gpiochip_add_data() 2026-03-02 11:15:57 +01:00
pinctrl-pic32.h
pinctrl-pistachio.c treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
pinctrl-rk805.c pinctrl: generic: rename PIN_CONFIG_OUTPUT to LEVEL 2025-09-08 14:24:20 +02:00
pinctrl-rockchip.c pinctrl: rockchip: Move MODULE_DEVICE_TABLE next to the table itself 2026-05-06 21:05:16 +02:00
pinctrl-rockchip.h pinctrl: rockchip: Add RV1103B pinctrl support 2026-02-23 10:30:49 +01:00
pinctrl-rp1.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
pinctrl-scmi.c pinctrl: scmi: ignore PIN_CONFIG_PERSIST_STATE 2026-03-24 13:50:30 +01:00
pinctrl-single.c pinctrl: single: Fix type in .pin_config_group_get() callback 2026-05-06 21:05:15 +02:00
pinctrl-st.c pinctrl: st: Annotate st_pinconf_dbg_show() as holding mutex 2026-01-19 01:11:47 +01:00
pinctrl-stmfx.c pinctrl: generic: rename PIN_CONFIG_OUTPUT to LEVEL 2025-09-08 14:24:20 +02:00
pinctrl-sx150x.c pinctrl: Use named initializers for arrays of i2c_device_data 2026-06-10 23:21:19 +02:00
pinctrl-tb10x.c pinctrl: tb10x: Simplify locking with guard() 2026-01-19 01:11:47 +01:00
pinctrl-th1520.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
pinctrl-tps6594.c pinctrl: Use named initializers for platform_device_id arrays 2026-05-29 22:47:44 +02:00
pinctrl-upboard.c pinctrl: Add pin controller driver for AAEON UP boards 2025-08-18 17:45:07 +02:00
pinctrl-utils.c drivers/pinctrl: Switch to use kmemdup_array() 2024-08-26 10:27:52 +02:00
pinctrl-utils.h
pinctrl-xway.c treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
pinctrl-zynq.c pinctrl: Constify static 'pinctrl_desc' 2025-06-18 13:26:37 +02:00
pinctrl-zynqmp.c arm64: Xilinx SOC changes for 6.18 2025-10-17 15:24:00 +02:00
pinmux.c pinctrl: add optional .release_mux() callback 2026-05-05 14:48:12 +02:00
pinmux.h pinctrl: allow to mark pin functions as requestable GPIOs 2025-09-08 14:22:58 +02:00