]> rtime.felk.cvut.cz Git - lincan.git/blobdiff - lincan/include/can_sysdep.h
Update of IRQ handlers to conform to arguments from new function prototype (Linux...
[lincan.git] / lincan / include / can_sysdep.h
index 3966e8fc4d6c595479d1b07b846c5e96342fdee3..f4d66a76683a36a8232c0a760415af74e5e7d43b 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))
 #define can_spin_unlock_irqrestore spin_unlock_irqrestore
 #define can_spin_lock_init         spin_lock_init
 
-#if defined(CONFIG_PREEMPT) || (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
+#ifndef DEFINE_SPINLOCK
+#define CAN_DEFINE_SPINLOCK(x)     can_spinlock_t x = SPIN_LOCK_UNLOCKED
+#else /*DEFINE_SPINLOCK*/
+#define CAN_DEFINE_SPINLOCK        DEFINE_SPINLOCK
+#endif /*DEFINE_SPINLOCK*/
+
+#if !defined(CONFIG_PREEMPT_RT) && ( defined(CONFIG_PREEMPT) || (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)) )
 #define can_preempt_disable        preempt_disable
 #define can_preempt_enable         preempt_enable
 #else /*CONFIG_PREEMPT*/
 #define can_spin_unlock_irqrestore rtl_spin_unlock_irqrestore
 #define can_spin_lock_init         rtl_spin_lock_init
 
+#define CAN_DEFINE_SPINLOCK(x)     can_spinlock_t x = SPIN_LOCK_UNLOCKED
+
 #define can_preempt_disable()      do { } while (0)
 #define can_preempt_enable()       do { } while (0)