linux/drivers/pinctrl
Brian Masney 7ed0785577 pinctrl: qcom: ssbi-gpio: fix gpio-hog related boot issues
When attempting to setup up a gpio hog, device probing will repeatedly
fail with -EPROBE_DEFERED errors. It is caused by a circular dependency
between the gpio and pinctrl frameworks. If the gpio-ranges property is
present in device tree, then the gpio framework will handle the gpio pin
registration and eliminate the circular dependency.

See Christian Lamparter's commit a86caa9ba5 ("pinctrl: msm: fix
gpio-hog related boot issues") for a detailed commit message that
explains the issue in much more detail. The code comment in this commit
came from Christian's commit.

I did not test this change against any hardware supported by this
particular driver, however I was able to validate this same fix works
for pinctrl-spmi-gpio.c using a LG Nexus 5 (hammerhead) phone.

Signed-off-by: Brian Masney <masneyb@onstation.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2018-11-16 23:15:03 +01:00
..
actions
aspeed pinctrl: remove unnecessary unlikely() 2018-08-31 11:29:12 +02:00
bcm pinctrl: bcm2835: Switch to SPDX identifier 2018-11-16 23:13:03 +01:00
berlin pinctrl: Convert to using %pOFn instead of device_node.name 2018-08-29 14:05:36 +02:00
cirrus pinctrl: madera: Fix uninitialized variable bug in madera_mux_set_mux 2018-10-12 11:14:38 +02:00
freescale pinctrl: fsl: imx7ulp: change to use imx legacy binding 2018-11-09 10:54:29 +01:00
intel pinctrl: geminilake: Sort register offsets by value 2018-10-16 09:18:15 +02:00
mediatek pinctrl: mediatek: Add initial pinctrl driver for MT6797 SoC 2018-11-15 11:05:54 +01:00
meson pinctrl: meson-gxl: remove invalid GPIOX tsin_a pins 2018-11-15 10:28:05 +01:00
mvebu pinctrl: Include <linux/gpio/driver.h> nothing else 2018-09-14 15:10:57 +02:00
nomadik pinctrl: nomadik: Fix debugfs 2018-10-03 09:10:52 +02:00
nuvoton pinctrl: nuvoton: modify NPCM7xx pin configuration function 2018-11-15 11:14:46 +01:00
pxa
qcom pinctrl: qcom: ssbi-gpio: fix gpio-hog related boot issues 2018-11-16 23:15:03 +01:00
samsung pinctrl: Include <linux/gpio/driver.h> nothing else 2018-09-14 15:10:57 +02:00
sh-pfc pinctrl: sh-pfc: r8a77990: Add INTC-EX pins, groups and function 2018-10-02 12:16:47 +02:00
sirf pinctrl: Include <linux/gpio/driver.h> nothing else 2018-09-14 15:10:57 +02:00
spear pinctrl: Include <linux/gpio/driver.h> nothing else 2018-09-14 15:10:57 +02:00
sprd pinctrl: sprd: Use define directive for sprd_pinconf_params values 2018-11-09 10:20:47 +01:00
stm32 pinctrl: Convert to using %pOFn instead of device_node.name 2018-08-29 14:05:36 +02:00
sunxi pinctrl: sunxi: Fix a memory leak in 'sunxi_pinctrl_build_state()' 2018-10-16 10:03:48 +02:00
tegra pinctrl: tegra: do not export tegra_pinctrl_probe 2018-09-20 08:15:16 -07:00
ti pinctrl: Convert to using %pOFn instead of device_node.name 2018-08-29 14:05:36 +02:00
uniphier pinctrl: uniphier: include <linux/bits.h> instead of <linux/bitops.h> 2018-10-16 10:01:59 +02:00
vt8500 pinctrl: Include <linux/gpio/driver.h> nothing else 2018-09-14 15:10:57 +02:00
zte
core.c pinctrl: core: make sure strcmp() doesn't get a null parameter 2018-10-01 13:46:13 +02:00
core.h
devicetree.c
devicetree.h
Kconfig pinctrl: sh-pfc: Updates for v4.20 (take three) 2018-10-10 11:15:33 +02:00
Makefile pinctrl: sh-pfc: Updates for v4.20 (take three) 2018-10-10 11:15:33 +02:00
pinconf-generic.c
pinconf.c
pinconf.h
pinctrl-amd.c pinctrl: pinctrl-amd: simplify getting .driver_data 2018-11-05 09:33:32 +01:00
pinctrl-amd.h
pinctrl-artpec6.c
pinctrl-as3722.c pinctrl: Include <linux/gpio/driver.h> nothing else 2018-09-14 15:10:57 +02:00
pinctrl-at91-pio4.c pinctrl: pinctrl-at91-pio4: simplify getting .driver_data 2018-11-05 09:33:32 +01:00
pinctrl-at91.c pinctrl: Include <linux/gpio/driver.h> nothing else 2018-09-14 15:10:57 +02:00
pinctrl-at91.h
pinctrl-axp209.c
pinctrl-coh901.c pinctrl: Include <linux/gpio/driver.h> nothing else 2018-09-14 15:10:57 +02:00
pinctrl-coh901.h
pinctrl-da850-pupd.c
pinctrl-digicolor.c pinctrl: Include <linux/gpio/driver.h> nothing else 2018-09-14 15:10:57 +02:00
pinctrl-falcon.c pinctrl: Include <linux/gpio/driver.h> nothing else 2018-09-14 15:10:57 +02:00
pinctrl-gemini.c pinctrl: gemini: Fix up TVC clock group 2018-10-10 21:05:35 +02:00
pinctrl-ingenic.c This is the 4.19-rc6 release 2018-10-01 13:20:45 +02:00
pinctrl-lantiq.c pinctrl: Convert to using %pOFn instead of device_node.name 2018-08-29 14:05:36 +02:00
pinctrl-lantiq.h
pinctrl-lpc18xx.c pinctrl: lpc18xx: Use define directive for PIN_CONFIG_GPIO_PIN_INT 2018-11-09 10:23:58 +01:00
pinctrl-max77620.c pinctrl: max77620: Use define directive for max77620_pinconf_param values 2018-11-09 10:02:22 +01:00
pinctrl-mcp23s08.c This is the bulk of pin control changes for the v4.20 series: 2018-10-23 08:40:16 +01:00
pinctrl-ocelot.c
pinctrl-oxnas.c
pinctrl-palmas.c
pinctrl-pic32.c
pinctrl-pic32.h
pinctrl-pistachio.c pinctrl: Include <linux/gpio/driver.h> nothing else 2018-09-14 15:10:57 +02:00
pinctrl-rk805.c
pinctrl-rockchip.c pinctrl: Include <linux/gpio/driver.h> nothing else 2018-09-14 15:10:57 +02:00
pinctrl-rza1.c pinctrl: rza1: don't manually release devm managed resources 2018-10-10 11:56:21 +02:00
pinctrl-rzn1.c pinctrl: renesas: Fix platform_no_drv_owner.cocci warnings 2018-10-15 16:19:44 +02:00
pinctrl-single.c pinctrl: Convert to using %pOFn instead of device_node.name 2018-08-29 14:05:36 +02:00
pinctrl-st.c pinctrl: Convert to using %pOFn instead of device_node.name 2018-08-29 14:05:36 +02:00
pinctrl-sx150x.c
pinctrl-tb10x.c
pinctrl-u300.c
pinctrl-utils.c
pinctrl-utils.h
pinctrl-xway.c
pinctrl-zynq.c pinctrl: zynq: Use define directive for PIN_CONFIG_IO_STANDARD 2018-11-09 10:25:17 +01:00
pinmux.c
pinmux.h