usb: dwc3: core: enable the USB2 and USB3 phy in probe
authorKishon Vijay Abraham I <kishon@ti.com>
Fri, 25 Jan 2013 03:00:54 +0000 (08:30 +0530)
committerFelipe Balbi <balbi@ti.com>
Fri, 25 Jan 2013 07:19:43 +0000 (09:19 +0200)
Enabled the USB2 and USB3 PHY in probe by calling usb_phy_set_suspend
and disabled the PHYs on driver removal. When PM is implemented this
will be optimized to enable the PHYs only when needed.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/dwc3/core.c

index 3a4004a620ad78bec1229d01c1dbaec04307d32d..f994d318df9ac890335921570702e2155a006729 100644 (file)
@@ -432,6 +432,9 @@ static int dwc3_probe(struct platform_device *pdev)
                return -EPROBE_DEFER;
        }
 
+       usb_phy_set_suspend(dwc->usb2_phy, 0);
+       usb_phy_set_suspend(dwc->usb3_phy, 0);
+
        spin_lock_init(&dwc->lock);
        platform_set_drvdata(pdev, dwc);
 
@@ -554,6 +557,9 @@ static int dwc3_remove(struct platform_device *pdev)
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 
+       usb_phy_set_suspend(dwc->usb2_phy, 1);
+       usb_phy_set_suspend(dwc->usb3_phy, 1);
+
        pm_runtime_put(&pdev->dev);
        pm_runtime_disable(&pdev->dev);