diff options
author | Fabio Estevam <fabio.estevam@nxp.com> | 2017-07-16 18:56:38 -0400 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2017-08-24 12:09:17 -0400 |
commit | a8c2038f615ac522aa9eb55dff1b7979bef0f794 (patch) | |
tree | 026f5d30d67c46917e8e3ae5e469bbf7a7c3198b | |
parent | 8c934095fa2f336d92b722f49f78ca7abf47e051 (diff) |
PCI: qcom: Use gpiod_set_value_cansleep() to allow reset via expanders
The reset GPIO can be connected to a I2C or SPI IO expander, which may
sleep, so it is safer to use the gpiod_set_value_cansleep() variant
instead.
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Stanimir Varbanov <svarbanov@mm-sol.com>
-rw-r--r-- | drivers/pci/dwc/pcie-qcom.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/pci/dwc/pcie-qcom.c b/drivers/pci/dwc/pcie-qcom.c index 26e84a957c35..e0654c01ca19 100644 --- a/drivers/pci/dwc/pcie-qcom.c +++ b/drivers/pci/dwc/pcie-qcom.c | |||
@@ -142,13 +142,13 @@ struct qcom_pcie { | |||
142 | 142 | ||
143 | static void qcom_ep_reset_assert(struct qcom_pcie *pcie) | 143 | static void qcom_ep_reset_assert(struct qcom_pcie *pcie) |
144 | { | 144 | { |
145 | gpiod_set_value(pcie->reset, 1); | 145 | gpiod_set_value_cansleep(pcie->reset, 1); |
146 | usleep_range(PERST_DELAY_US, PERST_DELAY_US + 500); | 146 | usleep_range(PERST_DELAY_US, PERST_DELAY_US + 500); |
147 | } | 147 | } |
148 | 148 | ||
149 | static void qcom_ep_reset_deassert(struct qcom_pcie *pcie) | 149 | static void qcom_ep_reset_deassert(struct qcom_pcie *pcie) |
150 | { | 150 | { |
151 | gpiod_set_value(pcie->reset, 0); | 151 | gpiod_set_value_cansleep(pcie->reset, 0); |
152 | usleep_range(PERST_DELAY_US, PERST_DELAY_US + 500); | 152 | usleep_range(PERST_DELAY_US, PERST_DELAY_US + 500); |
153 | } | 153 | } |
154 | 154 | ||