mirror-linux/drivers/pinctrl
Biju Das 6af800f917 pinctrl: renesas: rzg2l: Handle non-unique subnode names
[ Upstream commit bfc374a145 ]

Currently, sd1 and sd0 have unique subnode names 'sd1_mux' and 'sd0_mux'.
If we change these to non-unique subnode names such as 'mux' this can
lead to the below conflict as the RZ/G2L pin control driver considers
only the names of the subnodes.

   pinctrl-rzg2l 11030000.pinctrl: pin P47_0 already requested by 11c00000.mmc; cannot claim for 11c10000.mmc
   pinctrl-rzg2l 11030000.pinctrl: pin-376 (11c10000.mmc) status -22
   pinctrl-rzg2l 11030000.pinctrl: could not request pin 376 (P47_0) from group mux  on device pinctrl-rzg2l
   renesas_sdhi_internal_dmac 11c10000.mmc: Error applying setting, reverse things back

Fix this by constructing unique names from the node names of both the
pin control configuration node and its child node, where appropriate.

Based on the work done by Geert for the RZ/V2M pinctrl driver.

Fixes: c4c4637eb5 ("pinctrl: renesas: Add RZ/G2L pin and gpio controller driver")
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20230704111858.215278-1-biju.das.jz@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-07-27 08:50:38 +02:00
..
actions
aspeed pinctrl: aspeed: Revert "Force to disable the function's signal" 2023-02-14 19:11:50 +01:00
bcm pinctrl: bcm2835: Handle gpiochip_add_pin_range() errors 2023-07-19 16:21:34 +02:00
berlin pinctrl: berlin: fix spelling typo in comment 2022-09-05 14:10:14 +02:00
cirrus
freescale pinctrl: imx8m: kconfig: Fix build error on test compile 2022-09-08 10:06:57 +02:00
intel pinctrl: cherryview: Return correct value if pin in push-pull mode 2023-07-19 16:21:36 +02:00
mediatek pinctrl: mediatek: Initialize variable *buf to zero 2023-03-10 09:33:16 +01:00
meson pinctrl: meson-axg: add missing GPIOA_18 gpio group 2023-06-14 11:15:28 +02:00
mvebu
nomadik pinctrl: nomadik: remove dead code after DB8540 pinctrl removal 2022-09-19 09:35:57 +02:00
nuvoton pinctrl: npcm7xx: Add missing check for ioremap 2023-07-19 16:21:37 +02:00
pxa
qcom pinctrl: qcom: lpass-lpi: set output value before enabling output 2023-05-11 23:03:02 +09:00
ralink pinctrl: ralink: reintroduce ralink,rt2880-pinmux compatible string 2023-05-11 23:03:36 +09:00
renesas pinctrl: renesas: rzg2l: Handle non-unique subnode names 2023-07-27 08:50:38 +02:00
samsung
spear
sprd
starfive pinctrl: starfive: Rename "pinctrl-starfive" to "pinctrl-starfive-jh7100" 2022-10-04 10:47:48 +02:00
stm32 pinctrl: stm32: Fix refcount leak in stm32_pctrl_get_irq_domain 2023-03-10 09:33:11 +01:00
sunplus pinctrl:sunplus: Add check for kmalloc 2023-07-19 16:21:37 +02:00
sunxi These are the pin control changes for the v6.1 kernel cycle: 2022-10-11 10:59:59 -07:00
tegra
ti
uniphier
visconti
vt8500
Kconfig These are the pin control changes for the v6.1 kernel cycle: 2022-10-11 10:59:59 -07:00
Makefile pinctrl: Create subdirectory for StarFive drivers 2022-10-04 10:42:11 +02:00
core.c
core.h
devicetree.c pinctrl: devicetree: fix null pointer dereferencing in pinctrl_dt_to_map 2022-11-10 12:26:18 +01:00
devicetree.h
pinconf-generic.c pinctrl: pinconf-generic: add missing of_node_put() 2022-12-31 13:32:16 +01:00
pinconf.c
pinconf.h
pinctrl-amd.c pinctrl: amd: Unify debounce handling into amd_pinconf_set() 2023-07-23 13:49:31 +02:00
pinctrl-amd.h pinctrl: amd: Drop pull up select configuration 2023-07-23 13:49:31 +02:00
pinctrl-apple-gpio.c
pinctrl-artpec6.c
pinctrl-as3722.c
pinctrl-at91-pio4.c pinctrl: at91-pio4: check return value of devm_kasprintf() 2023-07-19 16:21:38 +02:00
pinctrl-at91.c pinctrl: at91: use devm_kasprintf() to avoid potential leaks 2023-03-10 09:33:59 +01:00
pinctrl-at91.h
pinctrl-axp209.c
pinctrl-bm1880.c
pinctrl-cy8c95x0.c pinctrl: cy8c95x0: Align function names in cy8c95x0_pmxops 2022-09-20 11:22:12 +02:00
pinctrl-da850-pupd.c
pinctrl-da9062.c
pinctrl-digicolor.c
pinctrl-equilibrium.c
pinctrl-equilibrium.h
pinctrl-falcon.c
pinctrl-gemini.c
pinctrl-ingenic.c pinctrl: Ingenic: JZ4755 bug fixes 2022-10-17 11:47:38 +02:00
pinctrl-k210.c pinctrl: k210: call of_node_put() 2022-12-31 13:32:14 +01:00
pinctrl-keembay.c
pinctrl-lantiq.c
pinctrl-lantiq.h
pinctrl-lpc18xx.c
pinctrl-max77620.c
pinctrl-mcp23s08.c pinctrl: mcp23s08: Drop assignment of default number of OF cells 2022-09-03 00:17:35 +02:00
pinctrl-mcp23s08.h
pinctrl-mcp23s08_i2c.c
pinctrl-mcp23s08_spi.c
pinctrl-microchip-sgpio.c pinctrl: microchip-sgpio: check return value of devm_kasprintf() 2023-07-19 16:21:38 +02:00
pinctrl-ocelot.c pinctrl: ocelot: Fix alt mode for ocelot 2023-04-06 12:10:49 +02:00
pinctrl-oxnas.c
pinctrl-palmas.c
pinctrl-pic32.c
pinctrl-pic32.h
pinctrl-pistachio.c pinctrl: pistachio: Correct the fwnode_irq_get() return value check 2022-09-08 15:18:58 +02:00
pinctrl-rk805.c
pinctrl-rockchip.c pinctrl: rockchip: Fix refcount leak in rockchip_pinctrl_parse_groups 2023-03-10 09:33:11 +01:00
pinctrl-rockchip.h
pinctrl-single.c pinctrl: single: fix potential NULL dereference 2023-02-14 19:11:50 +01:00
pinctrl-st.c pinctrl: st: stop abusing of_get_named_gpio() 2022-10-04 09:58:17 +02:00
pinctrl-stmfx.c
pinctrl-sx150x.c
pinctrl-tb10x.c
pinctrl-thunderbay.c pinctrl: thunderbay: fix possible memory leak in thunderbay_build_functions() 2022-12-31 13:32:23 +01:00
pinctrl-utils.c
pinctrl-utils.h
pinctrl-xway.c
pinctrl-zynq.c
pinctrl-zynqmp.c Revert "pinctrl: pinctrl-zynqmp: Add support for output-enable and bias-high-impedance" 2022-10-18 09:50:29 +02:00
pinmux.c
pinmux.h