static void dwc3_complete(struct device *dev) { struct dwc3 *dwc = dev_get_drvdata(dev); unsigned long flags; spin_lock_irqsave(&dwc->lock, flags); switch (dwc->mode) { case DWC3_MODE_DEVICE: case DWC3_MODE_DRD: dwc3_gadget_complete(dwc); /* FALLTHROUGH */ case DWC3_MODE_HOST: default: dwc3_event_buffers_setup(dwc); break; } spin_unlock_irqrestore(&dwc->lock, flags); }
static void dwc3_complete(struct device *dev) { struct dwc3 *dwc = dev_get_drvdata(dev); unsigned long flags; spin_lock_irqsave(&dwc->lock, flags); dwc3_event_buffers_setup(dwc); switch (dwc->dr_mode) { case USB_DR_MODE_PERIPHERAL: case USB_DR_MODE_OTG: dwc3_gadget_complete(dwc); /* FALLTHROUGH */ case USB_DR_MODE_HOST: default: break; } spin_unlock_irqrestore(&dwc->lock, flags); }
static void dwc3_complete(struct device *dev) { struct dwc3 *dwc = dev_get_drvdata(dev); unsigned long flags; /* Check if platform glue driver handling PM, if not then handle here */ if(!dwc3_notify_event(dwc, DWC3_CORE_PM_COMPLETE_EVENT)) return; spin_lock_irqsave(&dwc->lock, flags); switch (dwc->mode) { case DWC3_MODE_DEVICE: case DWC3_MODE_DRD: dwc3_gadget_complete(dwc); /* FALLTHROUGH */ case DWC3_MODE_HOST: default: dwc3_event_buffers_setup(dwc); break; } spin_unlock_irqrestore(&dwc->lock, flags); }