diff options
author | Peter Chen <peter.chen@freescale.com> | 2013-04-16 14:36:12 +0800 |
---|---|---|
committer | Peter Chen <peter.chen@freescale.com> | 2013-04-24 14:08:44 +0800 |
commit | 69a9d0b4f530d956557b5f459d6c7f146faa6ae9 (patch) | |
tree | 1d08f4d104862e0add2ef201ba836a8f3a5d4fce /drivers | |
parent | 6c3dc00386f3053698366ea24dea0984e8838f7c (diff) |
ENGR00258491-3 usb: fix clock unmatch problem after unload module
Move clock disable from MSL to driver
Signed-off-by: Peter Chen <peter.chen@freescale.com>
Diffstat (limited to 'drivers')
-rwxr-xr-x | drivers/usb/gadget/arcotg_udc.c | 6 | ||||
-rwxr-xr-x | drivers/usb/host/ehci-arc.c | 6 |
2 files changed, 8 insertions, 4 deletions
diff --git a/drivers/usb/gadget/arcotg_udc.c b/drivers/usb/gadget/arcotg_udc.c index c97eac3a6696..7429d4b13130 100755 --- a/drivers/usb/gadget/arcotg_udc.c +++ b/drivers/usb/gadget/arcotg_udc.c @@ -3269,6 +3269,8 @@ static int fsl_udc_remove(struct platform_device *pdev) dr_wake_up_enable(udc_controller, false); dr_discharge_line(pdata, true); + + dr_clk_gate(false); /* DR has been stopped in usb_gadget_unregister_driver() */ remove_proc_file(); @@ -3303,9 +3305,9 @@ static int fsl_udc_remove(struct platform_device *pdev) device_unregister(&udc_controller->gadget.dev); /* free udc --wait for the release() finished */ wait_for_completion(&done); + /* - * do platform specific un-initialization: - * release iomux pins, etc. + * do platform specific un-initialization */ if (pdata->exit) pdata->exit(pdata->pdev); diff --git a/drivers/usb/host/ehci-arc.c b/drivers/usb/host/ehci-arc.c index af894a3d9c4e..f17f260033ac 100755 --- a/drivers/usb/host/ehci-arc.c +++ b/drivers/usb/host/ehci-arc.c @@ -372,9 +372,11 @@ static void usb_hcd_fsl_remove(struct usb_hcd *hcd, if (pdata->xcvr_ops && pdata->xcvr_ops->set_vbus_power) pdata->xcvr_ops->set_vbus_power(pdata->xcvr_ops, pdata, 0); + if (pdata->usb_clock_for_pm) + pdata->usb_clock_for_pm(false); + /* - * do platform specific un-initialization: - * release iomux pins clocks, etc. + * do platform specific un-initialization */ if (pdata->exit) pdata->exit(pdata->pdev); |