* message queues.
* File: src/unican.c
*/
-can_irqreturn_t unican_irq_handler(int irq, void *dev_id, struct pt_regs *regs)
+int unican_irq_handler(int irq, struct chip_t *chip)
{
- struct chip_t *chip=(struct chip_t *)dev_id;
sCAN_CARD *chipext = (sCAN_CARD *)chip->chip_data;
struct msgobj_t *obj=chip->msgobj[0];
__u16 status;
if(!(chip->flags&CHIP_CONFIGURED)) {
CANMSG("unican_irq_handler: called for non-configured device\n");
- return CAN_IRQ_NONE;
+ return CANCHIP_IRQ_NONE;
}
if (cl2_get_status(chipext, &status) == CL2_NO_REQUEST)
- return CAN_IRQ_NONE;
+ return CANCHIP_IRQ_NONE;
cl2_clear_interrupt(chipext);
cl2_gen_interrupt(chipext);
- return CAN_IRQ_HANDLED;
+ return CANCHIP_IRQ_HANDLED;
}
return 0;
}
-#define CHIP_TYPE "unican"
-
/**
* unican_init_chip_data - Initialize chips
* @candev: Pointer to candevice/board structure
int unican_init_chip_data(struct candevice_t *candev, int chipnr)
{
struct chip_t *chip = candev->chip[chipnr];
- chip->chip_type = CHIP_TYPE;
+ chip->chip_type = "unican";
chip->chip_base_addr = 0;
chip->clock = 10000000;
chip->int_clk_reg = 0x0;