From 6250b3805fb7e368adf1e3f7ca39c8cc617bccff Mon Sep 17 00:00:00 2001 From: ppisa Date: Fri, 15 Dec 2006 19:31:08 +0000 Subject: [PATCH] Update of IRQ handlers to conform to arguments from new function prototype (Linux kernel 2.6.19+). --- lincan/include/can_sysdep.h | 9 +++++++++ lincan/src/ipci165.c | 4 ++-- lincan/src/pcan_dongle.c | 2 +- lincan/src/sysdep_lnx.c | 4 ++-- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/lincan/include/can_sysdep.h b/lincan/include/can_sysdep.h index 539a38e..f4d66a7 100644 --- a/lincan/include/can_sysdep.h +++ b/lincan/include/can_sysdep.h @@ -129,11 +129,20 @@ #define CAN_IRQ_HANDLED IRQ_HANDLED #define CAN_IRQ_RETVAL IRQ_RETVAL #endif /* <=2.5.67 */ +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)) + #define CAN_IRQ_HANDLER_ARGS(irq_number, dev_id) \ + int irq_number, void *dev_id, struct pt_regs *regs +#else /* < 2.6.19 */ + #define CAN_IRQ_HANDLER_ARGS(irq_number, dev_id) \ + int irq_number, void *dev_id +#endif /* < 2.6.19 */ #else /*CAN_WITH_RTL*/ typedef int can_irqreturn_t; #define CAN_IRQ_NONE 0 #define CAN_IRQ_HANDLED 1 #define CAN_IRQ_RETVAL(x) ((x) != 0) + #define CAN_IRQ_HANDLER_ARGS(irq_number, dev_id) \ + int irq_number, void *dev_id, struct pt_regs *regs #endif /*CAN_WITH_RTL*/ #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,33)) diff --git a/lincan/src/ipci165.c b/lincan/src/ipci165.c index 5ca7bc4..02b0d02 100644 --- a/lincan/src/ipci165.c +++ b/lincan/src/ipci165.c @@ -17,7 +17,7 @@ #include -can_irqreturn_t ipci165_irq_handler(int irq, void *dev_id, struct pt_regs *regs); +can_irqreturn_t ipci165_irq_handler(CAN_IRQ_HANDLER_ARGS(irq_number, dev_id)); int ipci165_baud_rate(struct canchip_t *chip, int rate, int clock, int sjw, int sampl_pt, int flags); int ipci165_set_btregs(struct canchip_t *chip, unsigned short btr0, @@ -879,7 +879,7 @@ void ipci165_irq_chip_handler(struct canchip_t *chip) * acknowledged and ipci165_irq_chip_handler is called for every channel. * File: src/ipci165.c */ -can_irqreturn_t ipci165_irq_handler(int irq, void *dev_id, struct pt_regs *regs) +can_irqreturn_t ipci165_irq_handler(CAN_IRQ_HANDLER_ARGS(irq_number, dev_id)) { int retval; struct candevice_t *candev = (struct candevice_t *)dev_id; diff --git a/lincan/src/pcan_dongle.c b/lincan/src/pcan_dongle.c index ce94186..ca7ef79 100644 --- a/lincan/src/pcan_dongle.c +++ b/lincan/src/pcan_dongle.c @@ -105,7 +105,7 @@ #define ECR_PORT_SIZE 1 // size of the associated ECR register #define DNG_DEFAULT_COUNT 4 // count of defaults for init -typedef void (*PARPORT_IRQ_HANLDER)(int, void *, struct pt_regs *); +typedef void (*PARPORT_IRQ_HANLDER)(CAN_IRQ_HANDLER_ARGS(irq_number, dev_id)); /****************************************************************************/ // GLOBALS diff --git a/lincan/src/sysdep_lnx.c b/lincan/src/sysdep_lnx.c index 07ef7d0..2161fee 100644 --- a/lincan/src/sysdep_lnx.c +++ b/lincan/src/sysdep_lnx.c @@ -198,12 +198,12 @@ void can_release_mem_region(unsigned long start, unsigned long n) * * File: src/setup.c */ -can_irqreturn_t can_default_irq_dispatch(int irq, void *dev_id, struct pt_regs *regs) +can_irqreturn_t can_default_irq_dispatch(CAN_IRQ_HANDLER_ARGS(irq_number, dev_id)) { int retval; struct canchip_t *chip=(struct canchip_t *)dev_id; - retval=chip->chipspecops->irq_handler(irq, chip); + retval=chip->chipspecops->irq_handler(irq_number, chip); return CAN_IRQ_RETVAL(retval); } -- 2.39.2