linux/drivers/pinctrl
Chen-Yu Tsai 5558f27a58 pinctrl: sunxi: dt: Consider pin base when calculating bank number from pin
In prepare_function_table() when the pinctrl function table IRQ entries
are generated, the pin bank is calculated from the absolute pin number;
however the IRQ bank mux array is indexed from the first pin bank of the
controller. For R_PIO controllers, this means the absolute pin bank is
way off from the relative pin bank used for array indexing.

Correct this by taking into account the pin base of the controller.

Fixes: f5e2cd34b1 ("pinctrl: sunxi: allow reading mux values from DT")
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Link: https://lore.kernel.org/20250607135203.2085226-1-wens@kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2025-06-10 14:35:40 +02:00
..
actions pinctrl: owl: use new GPIO line value setter callbacks 2025-04-29 10:34:45 +02:00
aspeed pinctrl: aspeed-g6: Support drive-strength for GPIOF/G 2024-10-28 13:58:43 +01:00
bcm pinctrl: bcm2835: use new GPIO line value setter callbacks 2025-05-09 10:05:52 +02:00
berlin pinctrl: berlin: Make use of struct pinfunction 2024-06-17 09:23:34 +02:00
cirrus pinctrl: Use str_enable_disable-like helpers 2025-01-15 12:52:26 +01:00
freescale Pin control bulk changes for v6.16: 2025-05-30 09:46:28 -07:00
intel pinctrl: intel: drop repeated config dependency 2025-03-03 16:20:51 +02:00
mediatek Pin control bulk changes for v6.16: 2025-05-30 09:46:28 -07:00
meson Pin control bulk changes for v6.16: 2025-05-30 09:46:28 -07:00
mvebu Merge branch 'ib-armada-for-v6.16' into devel 2025-05-15 00:25:42 +02:00
nomadik pinctr: nomadik: abx500: Restrict compile test 2025-04-17 09:40:43 +02:00
nuvoton Pin control changes for the v6.15 kernel cycle: 2025-03-29 16:59:16 -07:00
nxp pinctrl: s32: add missing pins definitions 2024-10-09 18:16:56 +02:00
pxa pinctrl: pxa2xx: use devm_kmemdup_array() 2025-02-24 12:08:52 +02:00
qcom pinctrl: qcom: pinctrl-qcm2290: Add missing pins 2025-06-09 10:16:45 +02:00
realtek pinctrl: realtek: Constify struct regmap_config 2024-08-05 09:07:41 +02:00
renesas pinctrl: renesas: rzg2l: Add support for RZ/V2N SoC 2025-05-05 10:50:10 +02:00
samsung Samsung pinctrl drivers changes for v6.16 2025-05-14 00:01:56 +02:00
sophgo pinctrl: sophgo: add support for SG2044 SoC 2025-02-27 23:56:18 +01:00
spacemit pinctrl: spacemit: add clock support for K1 SoC 2025-04-23 10:39:03 +02:00
spear pinctrl: spear: Use scope based of_node_put() cleanups 2024-06-26 11:56:15 +02:00
sprd pinctrl: Switch back to struct platform_driver::remove() 2024-10-11 21:45:47 +02:00
starfive pinctrl: starfive: jh7110: Correct the level trigger configuration of iev register 2024-08-23 18:14:45 +02:00
stm32 pinctrl: stm32: use new GPIO line value setter callbacks 2025-04-29 10:34:45 +02:00
sunplus pinctrl: sppctl: use gpiochip_dup_line_label() 2023-12-08 09:26:37 +01:00
sunxi pinctrl: sunxi: dt: Consider pin base when calculating bank number from pin 2025-06-10 14:35:40 +02:00
tegra pinctrl: tegra: Fix off by one in tegra_pinctrl_get_group() 2025-03-20 09:12:44 +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 pinctrl: vt8500: drop the wrapper around pinctrl_gpio_direction_input() 2023-11-04 10:23:22 +01:00
Kconfig pinctrl: at91: drop unneeded dependency on OF_GPIO 2025-05-08 22:12:13 +02:00
Makefile pinctrl: amd: isp411: Add amdisp GPIO pinctrl 2025-03-05 08:47:43 +01:00
core.c pinctrl: core: add devm_pinctrl_register_mappings() 2025-05-21 10:09:47 +02:00
core.h pinmux: Use sequential access to access desc->pinmux data 2024-10-23 11:59:23 +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
pinconf-generic.c pinctrl: pinconf-generic: Fix spelling mistake "paramers" -> "parameters" 2025-03-04 09:39:32 +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 Pin control bulk changes for v6.16: 2025-05-30 09:46:28 -07: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: amd: isp411: Fix IS_ERR() vs NULL check in probe() 2025-03-17 14:24:45 +01: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: Make regmap_config static const and fix indentation 2025-04-15 09:46:31 +02:00
pinctrl-artpec6.c pinctrl: Switch back to struct platform_driver::remove() 2024-10-11 21:45:47 +02:00
pinctrl-as3722.c pinctrl: as3722: Use devm_gpiochip_add_data() to simplify remove path 2023-11-24 11:22:12 +01:00
pinctrl-at91-pio4.c Pin control bulk changes for v6.16: 2025-05-30 09:46:28 -07:00
pinctrl-at91.c pinctrl: at91: Fix possible out-of-boundary access 2025-05-13 15:26:51 +02:00
pinctrl-at91.h
pinctrl-aw9523.c pinctrl: aw9523: fix kerneldoc for _aw9523_gpio_get_multiple() 2024-10-10 21:35:46 +02:00
pinctrl-axp209.c pinctrl: axp209: use new GPIO line value setter callbacks 2025-04-29 10:34:19 +02:00
pinctrl-bm1880.c
pinctrl-cy8c95x0.c pinctrl: cy8c95x0: use new GPIO line value setter callbacks 2025-04-17 09:39:15 +02:00
pinctrl-da850-pupd.c
pinctrl-da9062.c pinctrl: da9062: replace gpiochip_get_desc() with gpio_device_get_desc() 2024-06-25 09:12:48 +02:00
pinctrl-digicolor.c
pinctrl-ep93xx.c pinctrl: ep93xx: Fix raster pins typo 2024-09-16 11:16:15 +00:00
pinctrl-equilibrium.c pinctrl: equilibrium: Use scope based of_node_put() cleanups 2024-07-03 14:40:38 +02:00
pinctrl-equilibrium.h pinctrl: equilibrium: Make use of struct pinfunction 2024-06-17 09:23:43 +02:00
pinctrl-eyeq5.c pinctrl: eyeq5: add platform driver 2024-08-04 00:51:28 +02:00
pinctrl-falcon.c
pinctrl-gemini.c pinctrl: Use str_enable_disable-like helpers 2025-01-15 12:52:26 +01:00
pinctrl-ingenic.c pinctrl: ingenic: use new GPIO line value setter callbacks 2025-04-29 10:34:45 +02:00
pinctrl-k210.c pinctrl: k210: Undef K210_PC_DEFAULT 2024-11-18 23:51:05 +01:00
pinctrl-k230.c pinctrl: k230: Drop unused code 2024-10-04 09:46:27 +02:00
pinctrl-keembay.c pinctrl: keembay: Switch to irq_find_mapping() 2025-05-16 21:06:12 +02:00
pinctrl-lantiq.c
pinctrl-lantiq.h pinctrl: lantiq: Remove unsued declaration ltq_pinctrl_unregister() 2023-09-11 15:42:12 +02:00
pinctrl-loongson2.c pinctrl: loongson2: fix module autoloading 2024-04-17 10:43:50 +02:00
pinctrl-lpc18xx.c
pinctrl-max77620.c pinctrl: max77620: Remove an unused fields in struct max77620_pin_info and max77620_pctrl_info 2024-04-04 21:03:25 +02:00
pinctrl-mcp23s08.c pinctrl: mcp23s08: Reset all pins to input at probe 2025-04-15 09:17:39 +02:00
pinctrl-mcp23s08.h pinctrl: mcp23s08: Simplify probe()/mcp23s08_spi_regmap_init() 2023-10-10 13:39:38 +02:00
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: use new GPIO line value setter callbacks 2025-04-29 10:34:45 +02:00
pinctrl-mlxbf3.c pinctrl: mlxbf3: Fix return value check for devm_platform_ioremap_resource 2024-06-26 12:41:07 +02:00
pinctrl-ocelot.c pinctrl: ocelot: use new GPIO line value setter callbacks 2025-04-17 09:39:15 +02:00
pinctrl-palmas.c
pinctrl-pef2256.c pinctrl: Add support for the Lantic PEF2256 pinmux 2023-12-12 23:05:24 +01:00
pinctrl-pic32.c
pinctrl-pic32.h
pinctrl-pistachio.c pinctrl: pistachio: use new GPIO line value setter callbacks 2025-04-29 10:34:46 +02:00
pinctrl-rk805.c pinctrl: rk805: use new GPIO line value setter callbacks 2025-04-15 23:48:09 +02:00
pinctrl-rockchip.c pinctrl: rockchip: Add support for RK3528 2025-03-04 08:50:05 +01:00
pinctrl-rockchip.h pinctrl: rockchip: Add support for RK3528 2025-03-04 08:50:05 +01:00
pinctrl-scmi.c pinctrl: freescale: Add support for imx943 pinctrl 2025-05-21 10:12:14 +02:00
pinctrl-single.c pinctrl: Switch to irq_domain_create_*() 2025-05-16 21:06:11 +02:00
pinctrl-st.c pinctrl: st: Drop unused st_gpio_bank() function 2025-06-09 10:16:45 +02:00
pinctrl-stmfx.c pinctrl: stmfx: use new GPIO line value setter callbacks 2025-04-29 10:34:45 +02:00
pinctrl-sx150x.c pinctrl: sx150x: use new GPIO line value setter callbacks 2025-04-17 09:39:15 +02:00
pinctrl-tb10x.c pinctrl: tb10x: Drop of_match_ptr for ID table 2025-06-09 10:16:46 +02:00
pinctrl-th1520.c pinctrl: th1520: Fix potential null pointer dereference on func 2024-10-16 21:30:18 +02:00
pinctrl-tps6594.c Pin control bulk changes for the v6.11 kernel series: 2024-07-21 10:25:59 -07: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 pinctrl: Use of_property_present() for non-boolean properties 2024-11-08 09:02:15 +01:00
pinctrl-zynq.c pinctrl: pinctrl-zynq: fix module autoloading 2024-08-24 16:31:10 +02:00
pinctrl-zynqmp.c pinctrl: zynqmp: drop excess struct member description 2024-10-10 21:48:11 +02:00
pinmux.c pinmux: Use sequential access to access desc->pinmux data 2024-10-23 11:59:23 +02:00
pinmux.h pinctrl: pinmux: Remove unused members from struct function_desc 2024-06-17 09:25:11 +02:00