static int dwc3_runtime_resume(struct device *dev) { struct dwc3 *dwc = dev_get_drvdata(dev); int ret; device_init_wakeup(dev, false); ret = dwc3_resume_common(dwc); if (ret) return ret; switch (dwc->dr_mode) { case USB_DR_MODE_PERIPHERAL: case USB_DR_MODE_OTG: dwc3_gadget_process_pending_events(dwc); break; case USB_DR_MODE_HOST: default: /* do nothing */ break; } pm_runtime_mark_last_busy(dev); pm_runtime_put(dev); return 0; }
static int dwc3_runtime_resume(struct device *dev) { struct dwc3 *dwc = dev_get_drvdata(dev); int ret; device_init_wakeup(dev, false); ret = dwc3_resume_common(dwc, PMSG_AUTO_RESUME); if (ret) return ret; switch (dwc->current_dr_role) { case DWC3_GCTL_PRTCAP_DEVICE: dwc3_gadget_process_pending_events(dwc); break; case DWC3_GCTL_PRTCAP_HOST: default: /* do nothing */ break; } pm_runtime_mark_last_busy(dev); return 0; }