android_kernel_xiaomi_sm7250/drivers/pinctrl/qcom
Brian Masney 095fe93075 pinctrl: qcom: ssbi-gpio: fix gpio-hog related boot issues
[ Upstream commit 7ed07855773814337b9814f1c3e866df52ebce68 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-12-13 08:51:26 +01:00
..
Kconfig pinctrl: qcom: Add sdm845 pinctrl driver 2018-02-12 10:47:23 +01:00
Makefile pinctrl: qcom: Add sdm845 pinctrl driver 2018-02-12 10:47:23 +01:00
pinctrl-apq8064.c pinctrl: qcom: General Purpose clocks for apq8064 2017-08-31 11:32:19 +02:00
pinctrl-apq8084.c
pinctrl-ipq4019.c pinctrl: msm: add support to configure ipq40xx GPIO_PULL bits 2017-08-14 15:00:59 +02:00
pinctrl-ipq8064.c
pinctrl-ipq8074.c pinctrl: qcom: Add ipq8074 pinctrl driver 2017-06-29 15:12:40 +02:00
pinctrl-mdm9615.c pinctrl: qcom: Add support for MDM9615 TLMM 2016-06-29 10:10:52 +02:00
pinctrl-msm8x74.c pinctrl: qcom: msm8974: Add hsic_ctl pinmux 2016-06-29 10:14:46 +02:00
pinctrl-msm8660.c pinctrl: qcom: msm8660: rename some SDC1->SDC4 2017-01-03 09:26:20 +01:00
pinctrl-msm8916.c
pinctrl-msm8960.c
pinctrl-msm8994.c pinctrl: qcom: Add msm8994 pinctrl driver 2016-11-04 23:55:36 +01:00
pinctrl-msm8996.c pinctrl: qcom: Add msm8996 pinctrl driver 2015-12-01 10:29:03 +01:00
pinctrl-msm8998.c pinctrl: msm8998: Remove owner assignment from platform_driver 2018-03-27 14:05:11 +02:00
pinctrl-msm.c pinctrl: msm: Really mask level interrupts to prevent latching 2018-08-29 09:38:50 +02:00
pinctrl-msm.h pinctrl: msm: add support to configure ipq40xx GPIO_PULL bits 2017-08-14 15:00:59 +02:00
pinctrl-qdf2xxx.c pinctrl: qcom: qdf2xxx: add support for new ACPI HID QCOM8002 2018-05-02 14:36:08 +02:00
pinctrl-sdm845.c pinctrl: qcom: Add sdm845 pinctrl driver 2018-02-12 10:47:23 +01:00
pinctrl-spmi-gpio.c pinctrl: qcom: spmi-gpio: fix gpio-hog related boot issues 2019-12-01 09:17:32 +01:00
pinctrl-spmi-mpp.c pinctrl: spmi-mpp: Fix pmic_mpp_config_get() to be compliant 2018-11-13 11:08:29 -08:00
pinctrl-ssbi-gpio.c pinctrl: qcom: ssbi-gpio: fix gpio-hog related boot issues 2019-12-13 08:51:26 +01:00
pinctrl-ssbi-mpp.c pinctrl: qcom: ssbi: mpp: constify gpio_chip structure 2017-08-14 15:01:01 +02:00