linux/drivers/pinctrl
Linus Torvalds d941a3f656 gpio fixes for v6.19-rc8
- don't call into pinctrl when setting direction in gpio-rockchip as it's
   not needed and may trigger locking context errors
 - change spinlock to raw_spinlock in gpio-sprd
 - fix a use-after-free bug in gpio-virtuser
 - don't register a driver from another driver's probe() in gpio-omap
 - fix int width problems in GPIO ACPI code
 - fix interrupt-to-pin mapping in gpio-brcmstb
 - mask interrupts in irq shutdown in gpio-pca953x
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEkeUTLeW1Rh17omX8BZ0uy/82hMMFAml8lz4ACgkQBZ0uy/82
 hMN1KQ/+Imlv9lyge+IFUqX5lH1frlrNNKRIHKY9Mo5c1T0/HyqSHR/kD7TQbC8P
 RP/N4lSx1bt0Myfo6KyCqfQPH/UwgM1Opt2debU+TxtW8Bep+FPS/WzdU6yKCENA
 r71VW7rzDb3LcZ8irDzir6gYq3hTogaQ9POVHThMJAtZ/o/IlBjDe4YGW3cU2Brc
 XVu5vyjeCQjg+Qs4/1/fATSlSK0eWqUZd/sitFhZynIdoDX6tWTkQnmDrJ4N10zc
 XF78DXa+x5jI3qPoSJnOH0q8BMcU0TORVEpMx8zI1uhp88mMQjEvD97Zc0SHLytQ
 p9xgke845n7IFCywHAOc/TmuRHLHi98QsY6PW1rbm2HsO8X3GRyuCgpMWLSzNNeb
 rldlVFPFJpzFzzhxoWPh6mTItlFUSVO6M7JYzJxMMuYeM/2WOXeTN1S11AeqJqiF
 bfKETHOLH/0EK5bokIo6BEaHmUgCm7LQ5dzLyDt1s3AsCEXWJFiM+nqkpXz6FkbB
 up+GFnADfQMPQ/5EYJgv5Pz7qpXuzoxVy8ra06k70USpdgr/EILtRLbjlZZqtP8w
 qHqmqH0fcXue8uHH2Pe2tgIatOEuYlGOJ20bTfT2q1g8zCIYl46eyimoLy/wRZhS
 GRBB0mDGqIECEy5L3LHaMMiLeoaxVqTCMdMuDE0hvjP0LaWeNqo=
 =KCJE
 -----END PGP SIGNATURE-----

Merge tag 'gpio-fixes-for-v6.19-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux

Pull gpio fixes from Bartosz Golaszewski:
 "Over the last week I received quite an unexpected (for rc7) number of
  fixes but they are all pretty small and mostly limited to drivers:

   - don't call into pinctrl when setting direction in gpio-rockchip as
     it's not needed and may trigger locking context errors

   - change spinlock to raw_spinlock in gpio-sprd

   - fix a use-after-free bug in gpio-virtuser

   - don't register a driver from another driver's probe() in gpio-omap

   - fix int width problems in GPIO ACPI code

   - fix interrupt-to-pin mapping in gpio-brcmstb

   - mask interrupts in irq shutdown in gpio-pca953x"

* tag 'gpio-fixes-for-v6.19-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
  gpiolib: acpi: Fix potential out-of-boundary left shift
  gpio: brcmstb: correct hwirq to bank map
  gpio: omap: do not register driver in probe()
  gpio: pca953x: mask interrupts in irq shutdown
  gpio: virtuser: fix UAF in configfs release path
  gpiolib: acpi: use BIT_ULL() for u64 mask in address space handler
  gpio: sprd: Change sprd_gpio lock to raw_spin_lock
  gpio: rockchip: Stop calling pinctrl for set_direction
2026-01-30 11:58:27 -08:00
..
actions treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
aspeed pinctrl: aspeed-g6: Add PCIe RC PERST pin group 2025-07-23 13:22:41 +02: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: make struct pinfunction a pointer in struct function_desc 2025-09-08 14:22:41 +02:00
intel pinctrl: cherryview: Convert to use intel_gpio_add_pin_ranges() 2025-11-18 15:13:59 +01:00
mediatek pinctrl: mediatek: mt8189: restore previous register base name array order 2025-12-26 18:45:11 +01:00
meson pinctrl: meson: mark the GPIO controller as sleeping 2026-01-19 01:13:22 +01: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 pinctrl: lpass-lpi: implement .get_direction() for the GPIO driver 2026-01-27 10:06:27 +01:00
realtek pinctrl: realtek: Select REGMAP_MMIO for RTD driver 2025-10-23 15:09:01 +02:00
renesas pinctrl: renesas: rzg2l: Refactor OEN register PWPR handling 2025-11-13 21:21:02 +01:00
samsung pinctrl: samsung: Add ARTPEC-9 SoC specific configuration 2025-10-13 03:02:21 +02:00
sophgo pinctrl: sophgo: add support for SG2044 SoC 2025-02-27 23:56:18 +01:00
spacemit pinctrl: spacemit: fix typo in PRI_TDI pin name 2025-09-08 14:24:03 +02: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: use dynamic GPIO base allocation 2025-12-04 00:22:49 +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: tegra20: register csus_mux clock 2025-10-14 14:02:57 +02: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: cix: sky1: Provide pin control dummy states 2025-11-05 18:13:33 +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: pic64gx-gpio2: Add REGMAP_MMIO dependency 2026-01-01 15:33:27 +01:00
Makefile pinctrl: cix: Add pin-controller support for sky1 2025-10-28 10:42:47 +01:00
pinconf-generic.c pinctrl: pinconf-generic: Add properties 'skew-delay-{in,out}put-ps' 2025-10-28 10:43:01 +01:00
pinconf.c pinctrl: Convert unsigned to unsigned int 2023-12-04 15:32:42 +01:00
pinconf.h pinctrl: add stubs for OF-specific pinconf functions 2025-05-13 15:05:45 +02:00
pinctrl-amd.c pinctrl: amd: Don't access irq_data's hwirq member directly 2025-08-22 08:34:40 +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 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: Add "apple,t8103-pinctrl" as compatible 2025-09-14 21:51:22 +02: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: generic: rename PIN_CONFIG_OUTPUT to LEVEL 2025-09-08 14:24:20 +02: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: generic: rename PIN_CONFIG_OUTPUT to LEVEL 2025-09-08 14:24:20 +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: 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: use more common syntax for compound literals 2025-09-24 00:41:08 +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 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-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 order of DT parse and pinctrl register 2025-06-24 21:36:15 +02: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: generic: rename PIN_CONFIG_OUTPUT to LEVEL 2025-09-08 14:24:20 +02:00
pinctrl-mlxbf3.c pinctrl: Constify static 'pinctrl_desc' 2025-06-18 13:26:37 +02:00
pinctrl-mpfs-iomux0.c pinctrl: mpfs-iomux0: fix compile-time constant warning for LLVM prior to 17 2025-10-30 09:18:13 +01:00
pinctrl-ocelot.c pinctrl: generic: rename PIN_CONFIG_OUTPUT to LEVEL 2025-09-08 14:24:20 +02: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: generic: rename PIN_CONFIG_OUTPUT to LEVEL 2025-09-08 14:24:20 +02:00
pinctrl-pic32.h
pinctrl-pic64gx-gpio2.c pinctrl: add pic64gx "gpio2" pinmux driver 2025-10-24 11:08:25 +02:00
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 gpio: rockchip: Stop calling pinctrl for set_direction 2026-01-27 10:02:38 +01: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-scmi: remove unused struct members 2025-10-29 15:17:30 +01:00
pinctrl-single.c pinctrl: single: Fix incorrect type for error return variable 2025-12-04 00:19:37 +01:00
pinctrl-st.c treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02: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 Pin control changes for v6.17 2025-08-02 12:07:09 -07: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