/** * \fn wlanDrvIf_HandleInterrupt * \brief The WLAN interrupt handler * * The WLAN driver interrupt handler called in the interrupt context. * The actual handling is done in the driver's context after switching to the workqueue. * * \note * \param irq - The interrupt type * \param hDrv - The driver object handle * \param cpu_regs - The CPU registers * \return IRQ_HANDLED * \sa */ irqreturn_t wlanDrvIf_HandleInterrupt (int irq, void *hDrv, struct pt_regs *cpu_regs) { TWlanDrvIfObj *drv = (TWlanDrvIfObj *)hDrv; TWD_InterruptRequest (drv->tCommon.hTWD); return IRQ_HANDLED; }
/** * \fn wlanDrvIf_HandleInterrupt * \brief The WLAN interrupt handler * * The WLAN driver interrupt handler called in the interrupt context. * The actual handling is done in the driver's context after switching to the workqueue. * * \note * \param irq - The interrupt type * \param hDrv - The driver object handle * \param cpu_regs - The CPU registers * \return IRQ_HANDLED * \sa */ irqreturn_t wlanDrvIf_HandleInterrupt (int irq, void *hDrv, struct pt_regs *cpu_regs) { TWlanDrvIfObj *drv = (TWlanDrvIfObj *)hDrv; //printk(KERN_INFO "%s:ENTER ..\n",__func__); TWD_InterruptRequest (drv->tCommon.hTWD); //printk(KERN_INFO "%s:END ..\n",__func__); return IRQ_HANDLED; }
/** * \fn wlanDrvIf_HandleInterrupt * \brief The WLAN interrupt handler * * The WLAN driver interrupt handler called in the interrupt context. * The actual handling is done in the driver's context after switching to the workqueue. * * \note * \param irq - The interrupt type * \param hDrv - The driver object handle * \param cpu_regs - The CPU registers * \return IRQ_HANDLED * \sa */ irqreturn_t wlanDrvIf_HandleInterrupt (int irq, void *hDrv, struct pt_regs *cpu_regs) { TWlanDrvIfObj *drv = (TWlanDrvIfObj *)hDrv; #ifdef OMAP_LEVEL_INT disable_irq_nosync(drv->irq); #endif TWD_InterruptRequest (drv->tCommon.hTWD); return IRQ_HANDLED; }