linux/drivers/pinctrl
Linus Torvalds 46a1daac56 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.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAmmS7tgACgkQQRCzN7AZ
 XXMnww/+ON7+DH8YA5+yI3fPdejv+6LK4es22B3r8bPVW4HtnfGxNqC7HZ8v9SWQ
 H7BkSiEv0XLNVjKIV00WESeaK2V5MN9e52V2HfsSEDEheVdG7uA+9UVM7K2WkDnX
 zhfucJdYHa1OEwcnrWMZl+6gAMw7cjuaG3ckNzay+okNme9kiyrnjFzT7NWoCut8
 WBbzmpbMCtWdHMk7HSkPDF2LhyB7jVBbbH7qvjjrfxy1L+ybAf8tZJ6urwn+7uCZ
 dEe5YYghre2SXi4j9v+WJ+8024RaXG//7JsZvUEGs7Kb9CZAcqAdHwUiRK/rLckj
 anHoDEpall0yyH3gZA5ETn8Gw7vChAhm1CTfhUYcV9kc7/9MiShOE1UbBNvjXvCW
 e+0zixRrBp0LzJEkJD7b2NhjMLHyXS3D/uN1l5+d04uFwskttVhtQ26Icz3P/3T/
 aELNcIemwLQeAIy4btAWYu5dKE0IR80Z/nYozR7W+at9rzt9/8FleALScMXgPRMf
 HfcdKj9/cDzFNYOVtPf20gVXqSm/Yv+ZPYTpq45jKDH8U393Ly3XmNXAYOhflf+i
 Zt0KBSFf86/+u3Uo0EsQo+4JBK8FpEJT3qz6On7hXevbFiVZsXvfH0MU9up6s11d
 zfW56C4mHe0anB8y5Kc0ZKuOt4MzMJm0OOuuiZqnpnK2xFLBmlU=
 =lmwJ
 -----END PGP SIGNATURE-----

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

Pull pin control updates from Linus Walleij:
 "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"

* tag 'pinctrl-v7.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (73 commits)
  pinctrl: generic: move function to amlogic-am4 driver
  pinctrl: intel: Align Copyright note with corporate guidelines
  pinctrl: mediatek: remove unused drv_offset field
  pinctrl: canaan: k230: Fix NULL pointer dereference when parsing devicetree
  pinctrl: single: fix refcount leak in pcs_add_gpio_func()
  pinctrl: meson: amlogic-a4: Fix device node reference leak in bank helpers
  pinctrl: qcom: sm8250-lpass-lpi: Fix i2s2_data_groups definition
  pinctrl: core: Remove duplicate error messages
  pinctrl: core: Simplify devm_pinctrl_*()
  pinctrl: core: Remove unused devm_pinctrl_unregister()
  dt-bindings: pinctrl: spacemit: fix drive-strength check warning
  pinctrl: fix kismet issues with GENERIC_PINCTRL
  pinctrl: tangier: Join tng_pinctrl_probe() into its wrapper
  pinctrl: tangier: Remove duplicate error messages
  pinctrl: lynxpoint: Remove duplicate error messages
  pinctrl: cherryview: Remove duplicate error messages
  pinctrl: baytrail: Remove duplicate error messages
  pinctrl: intel: Remove duplicate error messages
  pinctrl: equilibrium: Fix device node reference leak in pinbank_init()
  dt-bindings: pinctrl: pinctrl-microchip-sgpio: add LAN969x
  ...
2026-02-16 09:35:24 -08:00
..
actions treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
aspeed pinctrl: aspeed: Cleanup header includes 2026-01-19 01:11:46 +01:00
bcm pinctrl: generic: rename PIN_CONFIG_OUTPUT to LEVEL 2025-09-08 14:24:20 +02:00
berlin pinctrl: berlin: fix memory leak in berlin_pinctrl_build_state() 2025-06-24 21:17:11 +02:00
cirrus pinctrl: cirrus: Fix fwnode leak in cs42l43_pin_probe() 2025-11-10 00:01:22 +01:00
cix pinctrl: cix: Fix obscure dependency 2025-11-25 14:26:07 +01:00
freescale pinctrl: imx: Add support for NXP i.MX952 2026-01-07 15:14:53 +01:00
intel pinctrl: intel: Align Copyright note with corporate guidelines 2026-02-06 12:05:29 +01:00
mediatek Pin control changes for the v7.0 kernel cycle: 2026-02-16 09:35:24 -08:00
meson Pin control changes for the v7.0 kernel cycle: 2026-02-16 09:35:24 -08:00
microchip Pin control changes for the v7.0 kernel cycle: 2026-02-16 09:35:24 -08:00
mvebu pinctrl: armada-37xx: Use int type to store negative error codes 2025-09-08 14:20:57 +02:00
nomadik Pin control changes for the v6.18 kernel cycle: 2025-10-01 13:14:48 -07:00
nuvoton pinctrl: ma35: Convert to common field_{get,prep}() helpers 2025-11-24 14:15:47 -05:00
nxp pinctrl: s32cc: initialize gpio_pin_config::list after kmalloc() 2025-11-18 23:56:11 +01:00
pxa pinctrl: pxa2xx: use devm_kmemdup_array() 2025-02-24 12:08:52 +02:00
qcom Pin control changes for the v7.0 kernel cycle: 2026-02-16 09:35:24 -08:00
realtek pinctrl: realtek: Select REGMAP_MMIO for RTD driver 2025-10-23 15:09:01 +02:00
renesas pinctrl: renesas: rzt2h: Add GPIO IRQ chip to handle interrupts 2026-01-13 10:21:53 +01:00
samsung pinctrl: samsung: Add Exynos9610 pinctrl configuration 2026-01-11 12:10:29 +01:00
sophgo pinctrl: sophgo: Cleanup header includes 2026-01-19 01:11:46 +01:00
spacemit pinctrl: spacemit: support I/O power domain configuration 2026-01-20 00:50:34 +01:00
spear treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
sprd pinctrl: Simplify printks with pOF format 2025-09-12 14:19:31 +02:00
starfive pinctrl: starfive: jh7110-sys: Cleanup header includes 2026-01-19 01:11:46 +01:00
stm32 pinctrl: stm32: handle semaphore acquisition when handling pinctrl/pinmux 2025-11-10 23:59:00 +01:00
sunplus pinctrl: generic: rename PIN_CONFIG_OUTPUT to LEVEL 2025-09-08 14:24:20 +02:00
sunxi pinctrl: Simplify printks with pOF format 2025-09-12 14:19:31 +02:00
tegra pinctrl: tegra-xusb: Simplify locking with guard() 2026-01-19 01:11:47 +01:00
ti pinctrl: ti: ti-iodelay: Constify struct ti_iodelay_reg_data 2024-08-05 09:22:33 +02:00
uniphier pinctrl: uniphier: Do not enable by default during compile testing 2025-04-15 10:08:42 +02:00
visconti
vt8500 treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
core.c pinctrl: core: Remove duplicate error messages 2026-02-03 01:18:18 +01:00
core.h pinctrl: Constify pointers to 'pinctrl_desc' 2025-06-18 13:26:36 +02:00
devicetree.c pinctrl: devicetree: do not goto err when probing hogs in pinctrl_dt_to_map 2025-02-17 00:16:01 +01:00
devicetree.h
Kconfig pinctrl: fix kismet issues with GENERIC_PINCTRL 2026-02-03 00:56:53 +01:00
Makefile pinctrl: add generic functions + pins mapper 2026-01-21 13:13:37 +01:00
pinconf-generic.c pinctrl: generic: move function to amlogic-am4 driver 2026-02-06 12:07:14 +01:00
pinconf.c pinctrl: Convert unsigned to unsigned int 2023-12-04 15:32:42 +01:00
pinconf.h pinctrl: add generic functions + pins mapper 2026-01-21 13:13:37 +01:00
pinctrl-amd.c pinctrl: amd: Cleanup header includes 2026-01-19 01:11:46 +01: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 treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
pinctrl-amdisp.h pinctrl: amd: isp411: Add amdisp GPIO pinctrl 2025-03-05 08:47:43 +01:00
pinctrl-apple-gpio.c pinctrl: apple: Implement GPIO func check callback 2026-01-13 11:22:21 +01: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: aw9523: Simplify locking with guard() 2026-01-19 01:11:46 +01: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: generic: rename PIN_CONFIG_OUTPUT to LEVEL 2025-09-08 14:24:20 +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 device node reference leak in pinbank_init() 2026-01-28 08:56:35 +01: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 platform driver 2024-08-04 00:51:28 +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.c pinctrl: add generic functions + pins mapper 2026-01-21 13:13:37 +01:00
pinctrl-ingenic.c pinctrl: generic: rename PIN_CONFIG_OUTPUT to LEVEL 2025-09-08 14:24:20 +02:00
pinctrl-k210.c pinctrl: generic: rename PIN_CONFIG_OUTPUT to LEVEL 2025-09-08 14:24:20 +02:00
pinctrl-k230.c pinctrl: canaan: k230: Fix NULL pointer dereference when parsing devicetree 2026-02-03 01:31:50 +01: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: Move fixed assignments to 'pinctrl_desc' definition 2025-06-18 13:26:37 +02:00
pinctrl-mcp23s08.c pinctrl: mcp23s08: init reg_defaults from HW at probe and switch cache type 2025-10-29 23:19:08 +01:00
pinctrl-mcp23s08.h
pinctrl-mcp23s08_i2c.c pinctrl: add missing MODULE_DESCRIPTION() macros 2024-06-17 10:59:31 +02:00
pinctrl-mcp23s08_spi.c pinctrl: add missing MODULE_DESCRIPTION() macros 2024-06-17 10:59:31 +02:00
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 pinctrl: ocelot: Extend support for lan9645xf family 2026-01-27 10:04:09 +01: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: Add support for the Lantic PEF2256 pinmux 2023-12-12 23:05:24 +01:00
pinctrl-pic32.c pinctrl: pic32: update include to use pic32.h from platform_data 2026-01-30 15:29:08 +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 Pin control changes for the v7.0 kernel cycle: 2026-02-16 09:35:24 -08:00
pinctrl-rockchip.h pinctrl: rockchip: Add rk3506 pinctrl support 2025-11-10 23:24:06 +01:00
pinctrl-rp1.c pinctrl: generic: rename PIN_CONFIG_OUTPUT to LEVEL 2025-09-08 14:24:20 +02:00
pinctrl-scmi.c pinctrl: imx: Add support for NXP i.MX952 2026-01-07 15:14:53 +01:00
pinctrl-single.c pinctrl: single: fix refcount leak in pcs_add_gpio_func() 2026-02-03 01:30:59 +01: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: generic: rename PIN_CONFIG_OUTPUT to LEVEL 2025-09-08 14:24:20 +02:00
pinctrl-tb10x.c pinctrl: tb10x: Simplify locking with guard() 2026-01-19 01:11:47 +01:00
pinctrl-th1520.c pinctrl: th1520: Fix typo 2026-01-20 09:59:26 +01:00
pinctrl-tps6594.c pinctrl: pinctrl-tps6594: Add TPS652G1 PMIC pinctrl and GPIO 2025-07-10 09:58:12 +01: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: Convert unsigned to unsigned int 2023-12-04 15:32:42 +01:00
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: allow to mark pin functions as requestable GPIOs 2025-09-08 14:22:58 +02:00
pinmux.h pinctrl: allow to mark pin functions as requestable GPIOs 2025-09-08 14:22:58 +02:00