static int dwc3_prepare(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_PREPARE_EVENT)) return 0; spin_lock_irqsave(&dwc->lock, flags); switch (dwc->mode) { case DWC3_MODE_DEVICE: case DWC3_MODE_DRD: dwc3_gadget_prepare(dwc); /* FALLTHROUGH */ case DWC3_MODE_HOST: default: dwc3_event_buffers_cleanup(dwc); break; } spin_unlock_irqrestore(&dwc->lock, flags); return 0; }
static int dwc3_prepare(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_prepare(dwc); /* FALLTHROUGH */ case DWC3_MODE_HOST: default: dwc3_event_buffers_cleanup(dwc); break; } spin_unlock_irqrestore(&dwc->lock, flags); return 0; }