X-Git-Url: http://rtime.felk.cvut.cz/gitweb/lincan.git/blobdiff_plain/3c5bd05707c62c6a2486b3327e496da80c6031f5..258e4a224adc90317b3d11622a3076ba6d61b0d2:/lincan/src/setup.c diff --git a/lincan/src/setup.c b/lincan/src/setup.c index 394704c..5dba951 100644 --- a/lincan/src/setup.c +++ b/lincan/src/setup.c @@ -568,6 +568,15 @@ int init_hwspecops(struct candevice_t *candev, int *irqnum_p) #ifndef CAN_WITH_RTL +can_irqreturn_t can_default_irq_dispatch(int irq, void *dev_id, struct pt_regs *regs) +{ + int retval; + struct chip_t *chip=(struct chip_t *)dev_id; + + retval=chip->chipspecops->irq_handler(irq, chip); + return CAN_IRQ_RETVAL(retval); +} + /** * can_chip_setup_irq - attaches chip to the system interrupt processing * @chip: pointer to CAN chip structure @@ -582,7 +591,7 @@ int can_chip_setup_irq(struct chip_t *chip) return 0; if ((chip->flags & CHIP_IRQ_VME) == 0) { - if (request_irq(chip->chip_irq,chip->chipspecops->irq_handler,SA_SHIRQ,DEVICE_NAME,chip)) + if (request_irq(chip->chip_irq,can_default_irq_dispatch,SA_SHIRQ,DEVICE_NAME,chip)) return -1; else { DEBUGMSG("Registered interrupt %d\n",chip->chip_irq);