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();
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);
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->pdev)
pdata->exit(pdata->pdev);