On Wed, Mar 28, 2012 at 2:22 PM, Felipe Balbi <balbi@xxxxxx> wrote: > On Tue, Mar 27, 2012 at 04:08:55PM +0200, Igor Grinberg wrote: >> When PHY reset pin is connected to a GPIO on external GPIO chip >> (e.g. I2C), we should not call the gpio_set_value() function, but >> gpio_set_value_cansleep(). >> >> Signed-off-by: Igor Grinberg <grinberg@xxxxxxxxxxxxxx> > > Acked-by: Felipe Balbi <balbi@xxxxxx> > > Keshava, please give us your tested-by. Patch looks fine to me. Tried on beagle-xm where the smsc hub + smsc95xx ethernet controller relies gpio nreset sequence for initialization. Both hub + Ethernet controller get enumerated even after this patch. Tested-by: Govindraj.R <govindraj.raja@xxxxxx> > >> --- >> This patch depends on the patch from Keshava [1]: >> ARM: OMAP3: USB: Fix the EHCI ULPI PHY reset issue >> >> [1] http://www.spinics.net/lists/linux-omap/msg66774.html >> >> drivers/usb/host/ehci-omap.c | 4 ++-- >> 1 files changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c >> index 5c78f9e..26e9241 100644 >> --- a/drivers/usb/host/ehci-omap.c >> +++ b/drivers/usb/host/ehci-omap.c >> @@ -258,10 +258,10 @@ static int ehci_hcd_omap_probe(struct platform_device *pdev) >> udelay(10); >> >> if (gpio_is_valid(pdata->reset_gpio_port[0])) >> - gpio_set_value(pdata->reset_gpio_port[0], 1); >> + gpio_set_value_cansleep(pdata->reset_gpio_port[0], 1); >> >> if (gpio_is_valid(pdata->reset_gpio_port[1])) >> - gpio_set_value(pdata->reset_gpio_port[1], 1); >> + gpio_set_value_cansleep(pdata->reset_gpio_port[1], 1); >> } >> >> return 0; >> -- >> 1.7.3.4 >> > > -- > balbi -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html