linux-stable/drivers/pinctrl
John Keeping e7525b3b9e pinctrl/rockchip: fix gpio device creation
commit bceb6732f3 upstream.

GPIO nodes are not themselves busses, so passing rockchip_bank_match
here is wrong.  Passing NULL instead uses the standard bus match table
which is more appropriate.

devm_of_platform_populate() shows that this is the normal way to call
of_platform_populate() from a device driver, so in order to match that
more closely also add the pinctrl device as the parent for the newly
created GPIO controllers.

Specifically, using the wrong match here can break dynamic GPIO hogs as
marking the GPIO bank as a bus means that of_platform_notify() will set
OF_POPULATED on new child nodes and if this happens before
of_gpio_notify() is called then the new hog will be skipped as
OF_POPULATED is already set.

Fixes: 9ce9a02039 ("pinctrl/rockchip: drop the gpio related codes")
Signed-off-by: John Keeping <john@metanate.com>
Link: https://lore.kernel.org/r/20211126151352.1509583-1-john@metanate.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-01-27 11:05:31 +01:00
..
actions pinctrl: Bulk conversion to generic_handle_domain_irq() 2021-08-12 11:39:39 +01:00
aspeed Kbuild updates for v5.15 2021-09-03 15:33:47 -07:00
bcm pinctrl: bcm2835: Change init order for gpio hogs 2021-12-29 12:28:47 +01:00
berlin
cirrus
freescale pinctrl: imx8dxl: Constify imx_pinctrl_soc_info 2021-07-30 12:06:02 +02:00
intel Updates to the interrupt core and driver subsystems: 2021-08-30 14:38:37 -07:00
mediatek pinctrl: mediatek: fix global-out-of-bounds issue 2021-12-29 12:29:01 +01:00
meson pinctrl/meson: enable building as modules 2020-11-05 14:51:38 +01:00
mvebu pinctrl: armada-37xx: Correct PWM pins definitions 2021-07-23 17:54:42 +02:00
nomadik pinctrl: Bulk conversion to generic_handle_domain_irq() 2021-08-12 11:39:39 +01:00
nuvoton pinctrl: Bulk conversion to generic_handle_domain_irq() 2021-08-12 11:39:39 +01:00
pxa pinctrl: Introduce MODE group in enum pin_config_param 2021-04-22 02:03:01 +02:00
qcom pinctrl: qcom: fix unmet dependencies on GPIOLIB for GPIOLIB_IRQCHIP 2021-12-08 09:04:38 +01:00
ralink pinctrl: ralink: include 'ralink_regs.h' in 'pinctrl-mt7620.c' 2021-11-25 09:48:44 +01:00
renesas pinctrl: renesas: checker: Fix off-by-one bug in drive register check 2021-11-18 19:16:52 +01:00
samsung This is the bulk of pin control changes for the v5.15 kernel cycle, 2021-09-02 14:22:56 -07:00
spear pinctrl: Bulk conversion to generic_handle_domain_irq() 2021-08-12 11:39:39 +01:00
sprd pinctrl: sprd: Simplify bool comparison 2021-01-18 14:41:42 +01:00
stm32 pinctrl: stm32: consider the GPIO offset to expose all the GPIO lines 2021-12-29 12:28:55 +01:00
sunxi Updates to the interrupt core and driver subsystems: 2021-08-30 14:38:37 -07:00
tegra This is the bulk of the pin control changes for the v5.9 2020-08-09 12:52:28 -07:00
ti pinctrl: ti: fix error return code of ti_iodelay_dt_node_to_map() 2021-04-08 15:57:14 +02:00
uniphier
visconti gpio: visconti: Add Toshiba Visconti GPIO support 2021-02-15 11:43:26 +01:00
vt8500
core.c pinctrl: core: fix possible memory leak in pinctrl_enable() 2021-11-18 19:16:06 +01:00
core.h
devicetree.c pinctrl: devicetree: Keep deferring even on timeout 2020-09-12 18:19:53 +02:00
devicetree.h
Kconfig pinctrl: Add Intel Keem Bay pinctrl driver 2021-08-11 15:13:14 +02:00
Makefile pinctrl: Add Intel Keem Bay pinctrl driver 2021-08-11 15:13:14 +02:00
pinconf-generic.c pinctrl: Introduce MODE group in enum pin_config_param 2021-04-22 02:03:01 +02:00
pinconf.c pinctrl: use to octal permissions for debugfs files 2021-03-10 14:41:58 +01:00
pinconf.h
pinctrl-amd.c pinctrl: amd: Fix wakeups when IRQ is shared with SCI 2021-12-22 09:32:37 +01:00
pinctrl-amd.h pinctrl: amd: Add irq field data 2021-09-17 00:48:45 +02:00
pinctrl-artpec6.c
pinctrl-as3722.c
pinctrl-at91-pio4.c pinctrl: at91-pio4: Fix slew rate disablement 2021-04-13 09:42:18 +02:00
pinctrl-at91.c pinctrl: Bulk conversion to generic_handle_domain_irq() 2021-08-12 11:39:39 +01:00
pinctrl-at91.h
pinctrl-axp209.c
pinctrl-bm1880.c
pinctrl-da850-pupd.c
pinctrl-da9062.c
pinctrl-digicolor.c
pinctrl-equilibrium.c pinctrl: equilibrium: Fix function addition in multiple groups 2021-11-18 19:16:55 +01:00
pinctrl-equilibrium.h
pinctrl-falcon.c pinctrl: falcon: add missing put_device() call in pinctrl_falcon_probe() 2020-12-04 09:17:51 +01:00
pinctrl-gemini.c
pinctrl-ingenic.c This is the bulk of pin control changes for the v5.15 kernel cycle, 2021-09-02 14:22:56 -07:00
pinctrl-k210.c pinctrl: k210: Fix k210_fpioa_probe() 2021-08-11 15:03:53 +02:00
pinctrl-keembay.c pinctrl: Add Intel Keem Bay pinctrl driver 2021-08-11 15:13:14 +02:00
pinctrl-lantiq.c
pinctrl-lantiq.h
pinctrl-lpc18xx.c pinctrl: Introduce MODE group in enum pin_config_param 2021-04-22 02:03:01 +02:00
pinctrl-max77620.c
pinctrl-mcp23s08.c pinctrl: mcp23s08: Add optional reset GPIO 2021-06-12 01:58:10 +02:00
pinctrl-mcp23s08.h pinctrl: mcp23s08: Add optional reset GPIO 2021-06-12 01:58:10 +02:00
pinctrl-mcp23s08_i2c.c
pinctrl-mcp23s08_spi.c pinctrl: mcp23s08: Print error message when regmap init fails 2020-11-05 11:30:31 +01:00
pinctrl-microchip-sgpio.c pinctrl: Bulk conversion to generic_handle_domain_irq() 2021-08-12 11:39:39 +01:00
pinctrl-ocelot.c pinctrl: Bulk conversion to generic_handle_domain_irq() 2021-08-12 11:39:39 +01:00
pinctrl-oxnas.c pinctrl: Bulk conversion to generic_handle_domain_irq() 2021-08-12 11:39:39 +01:00
pinctrl-palmas.c
pinctrl-pic32.c pinctrl: Bulk conversion to generic_handle_domain_irq() 2021-08-12 11:39:39 +01:00
pinctrl-pic32.h
pinctrl-pistachio.c pinctrl: Bulk conversion to generic_handle_domain_irq() 2021-08-12 11:39:39 +01:00
pinctrl-rk805.c
pinctrl-rockchip.c pinctrl/rockchip: fix gpio device creation 2022-01-27 11:05:31 +01:00
pinctrl-rockchip.h pinctrl/rockchip: add a queue for deferred pin output settings on probe 2021-09-18 01:32:20 +02:00
pinctrl-single.c This is the bulk of pin control changes for the v5.15 kernel cycle, 2021-09-02 14:22:56 -07:00
pinctrl-st.c pinctrl: Bulk conversion to generic_handle_domain_irq() 2021-08-12 11:39:39 +01:00
pinctrl-stmfx.c pinctrl: stmfx: Fix hazardous u8[] to unsigned long cast 2021-08-10 14:47:59 +02:00
pinctrl-sx150x.c pinctrl: remove empty lines in pinctrl subsystem 2021-01-05 16:09:24 +01:00
pinctrl-tb10x.c
pinctrl-utils.c pinctrl: use krealloc_array() 2020-12-15 12:13:37 -08:00
pinctrl-utils.h
pinctrl-xway.c
pinctrl-zynq.c pinctrl: pinctrl-zynq: Add support for 'power-source' parameter 2021-07-30 14:40:42 +02:00
pinctrl-zynqmp.c pinctrl: zynqmp: Drop pinctrl_unregister for devm_ registered device 2021-08-11 15:09:22 +02:00
pinmux.c pinctrl: pinmux: Add pinmux-select debugfs file 2021-03-10 14:41:58 +01:00
pinmux.h