/** * This function is the top level PCD interrupt handler. */ static irqreturn_t dwc_otg_pcd_irq(int irq, void *dev) { dwc_otg_pcd_t *pcd = dev; int32_t retval = IRQ_NONE; retval = dwc_otg_pcd_handle_intr(pcd); return IRQ_RETVAL(retval); }
/** * This function is the top level PCD interrupt handler. */ static irqreturn_t dwc_otg_pcd_irq(int irq, void *dev) { dwc_otg_pcd_t *pcd = dev; int32_t retval; retval = dwc_otg_pcd_handle_intr(pcd); if (retval != 0) { S3C2410X_CLEAR_EINTPEND(); } return IRQ_RETVAL(retval); }
/* * This function must be registered as a interrupt handler after calling the * driver_init() function. */ void usb_ISR(void) { /* * FIXME: we shall be able to detect USB reset here with resetdet field * or is it host only */ gintsts_data_t gintsts; __DWC_WARN("USB ISR! - enter\n"); do { dwc_otg_handle_common_intr(dwc_otg_device); dwc_otg_pcd_handle_intr(dwc_otg_device->pcd); gintsts.d32 = dwc_otg_read_core_intr(dwc_otg_device->core_if); __DWC_WARN("USB ISR! - gintsts: %d\n", gintsts.d32); } while (gintsts.d32 != 0); __DWC_WARN("USB ISR! - exit\n"); }