return readb(address);
}
-extern can_irqreturn_t sja1000p_irq_handler(int irq, void *dev_id, struct pt_regs *regs);
-
-can_irqreturn_t ems_cpcpci_irq_handler(int irq, void *dev_id, struct pt_regs *regs)
+int ems_cpcpci_irq_handler(int irq, struct chip_t *chip)
{
- struct chip_t *chip=(struct chip_t *)dev_id;
+ //struct chip_t *chip=(struct chip_t *)dev_id;
struct candevice_t *candev=chip->hostdevice;
int i;
unsigned long icr;
int test_irq_again;
icr=readl(candev->dev_base_addr + PITA2_ICR);
- if(!(icr & PITA2_ICR_INT0)) return CAN_IRQ_NONE;
+ if(!(icr & PITA2_ICR_INT0)) return CANCHIP_IRQ_NONE;
/* correct way to handle interrupts from all chips connected to the one PITA-2 */
do {
chip=candev->chip[i];
if(!chip || !(chip->flags&CHIP_CONFIGURED))
continue;
- if(sja1000p_irq_handler(irq, chip, regs))
+ if(sja1000p_irq_handler(irq, chip))
test_irq_again=1;
}
icr=readl(candev->dev_base_addr + PITA2_ICR);
} while((icr & PITA2_ICR_INT0)||test_irq_again);
- return CAN_IRQ_HANDLED;
+ return CANCHIP_IRQ_HANDLED;
}
int ems_cpcpci_reset(struct candevice_t *candev)