summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJun Li <r65092@freescale.com>2010-04-14 15:03:45 +0800
committerAlejandro Gonzalez <alex.gonzalez@digi.com>2010-05-25 11:20:24 +0200
commitccf152ba77572611d19cbfda2b4c677d8ca8c50a (patch)
treed022b3b1745b4fff752688bf75f98518164f64a0
parent2487a516df82b70531082550e277485601a4eb98 (diff)
ENGR00121945 Fix USB OTG pin-detect.
In OTG mode, entering low power mode after udc probe causes otg controller can not exit from it when switch to host mode. this patch let gadget class driver handle it. Signed-off-by: Jun Li <r65092@freescale.com> Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
-rw-r--r--drivers/usb/gadget/arcotg_udc.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/usb/gadget/arcotg_udc.c b/drivers/usb/gadget/arcotg_udc.c
index b8beeb51dd68..b4ccc3bc3d4f 100644
--- a/drivers/usb/gadget/arcotg_udc.c
+++ b/drivers/usb/gadget/arcotg_udc.c
@@ -2198,14 +2198,14 @@ int usb_gadget_register_driver(struct usb_gadget_driver *driver)
udc_controller->driver = driver;
udc_controller->gadget.dev.driver = &driver->driver;
spin_unlock_irqrestore(&udc_controller->lock, flags);
-
+#ifndef CONFIG_USB_OTG
if (udc_controller->pdata->usb_clock_for_pm)
udc_controller->pdata->usb_clock_for_pm(true);
portsc = fsl_readl(&dr_regs->portsc1);
portsc &= ~PORTSCX_PHY_LOW_POWER_SPD;
fsl_writel(portsc, &dr_regs->portsc1);
-
+#endif
/* bind udc driver to gadget driver */
retval = driver->bind(&udc_controller->gadget);
if (retval) {
@@ -2869,7 +2869,7 @@ static int __init fsl_udc_probe(struct platform_device *pdev)
#ifdef POSTPONE_FREE_LAST_DTD
last_free_td = NULL;
#endif
-
+#ifndef CONFIG_USB_OTG
/* disable all INTR */
fsl_writel(0, &dr_regs->usbintr);
@@ -2882,7 +2882,7 @@ static int __init fsl_udc_probe(struct platform_device *pdev)
if (udc_controller->pdata->usb_clock_for_pm)
udc_controller->pdata->usb_clock_for_pm(false);
-
+#endif
create_proc_file();
return 0;