PCI: imx6: Use gpio_set_value_cansleep()
authorFabio Estevam <fabio.estevam@freescale.com>
Tue, 27 Oct 2015 23:41:58 +0000 (21:41 -0200)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 25 Nov 2015 17:33:05 +0000 (11:33 -0600)
We are in a context where we can sleep, and the PCIe reset gpio may be on
an I2C expander.  Use the cansleep() variant when setting the GPIO value.

Based on a patch from Russell King for pci-mvebu.c.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
drivers/pci/host/pci-imx6.c

index 22e8224126fd9d9885ee06f2fb81cbf1f023b06b..3c3b37f9a76ecf1718fe5f5eba4a064d70ef04f5 100644 (file)
@@ -288,9 +288,9 @@ static int imx6_pcie_deassert_core_reset(struct pcie_port *pp)
 
        /* Some boards don't have PCIe reset GPIO. */
        if (gpio_is_valid(imx6_pcie->reset_gpio)) {
-               gpio_set_value(imx6_pcie->reset_gpio, 0);
+               gpio_set_value_cansleep(imx6_pcie->reset_gpio, 0);
                msleep(100);
-               gpio_set_value(imx6_pcie->reset_gpio, 1);
+               gpio_set_value_cansleep(imx6_pcie->reset_gpio, 1);
        }
        return 0;