X-Git-Url: http://rtime.felk.cvut.cz/gitweb/lincan.git/blobdiff_plain/70be683591b1e7f4723228bb2da6c097f8d6f62c..258e4a224adc90317b3d11622a3076ba6d61b0d2:/lincan/src/unican.c diff --git a/lincan/src/unican.c b/lincan/src/unican.c index 552d6fe..957d5af 100644 --- a/lincan/src/unican.c +++ b/lincan/src/unican.c @@ -3,7 +3,7 @@ * Written for new CAN driver version by Pavel Pisa - OCERA team member * email:pisa@cmp.felk.cvut.cz * This software is released under the GPL-License. - * Version lincan-0.2 9 Jul 2003 + * Version lincan-0.3 17 Jun 2004 */ #include "../include/can.h" @@ -570,9 +570,8 @@ void unican_irq_sync_activities(struct chip_t *chip, struct msgobj_t *obj) * 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; @@ -580,11 +579,11 @@ can_irqreturn_t unican_irq_handler(int irq, void *dev_id, struct pt_regs *regs) 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); @@ -609,7 +608,7 @@ can_irqreturn_t unican_irq_handler(int irq, void *dev_id, struct pt_regs *regs) cl2_gen_interrupt(chipext); - return CAN_IRQ_HANDLED; + return CANCHIP_IRQ_HANDLED; } @@ -759,8 +758,6 @@ int unican_init_hw_data(struct candevice_t *candev) return 0; } -#define CHIP_TYPE "unican" - /** * unican_init_chip_data - Initialize chips * @candev: Pointer to candevice/board structure @@ -772,7 +769,7 @@ int unican_init_hw_data(struct candevice_t *candev) 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;