Update of IRQ handlers to conform to arguments from new function prototype (Linux...
authorppisa <ppisa>
Fri, 15 Dec 2006 19:31:08 +0000 (19:31 +0000)
committerppisa <ppisa>
Fri, 15 Dec 2006 19:31:08 +0000 (19:31 +0000)
lincan/include/can_sysdep.h
lincan/src/ipci165.c
lincan/src/pcan_dongle.c
lincan/src/sysdep_lnx.c

index 539a38e..f4d66a7 100644 (file)
   #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))
index 5ca7bc4..02b0d02 100644 (file)
@@ -17,7 +17,7 @@
 
 #include <ctype.h>
 
-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;
index ce94186..ca7ef79 100644 (file)
 #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
index 07ef7d0..2161fee 100644 (file)
@@ -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);
 }