genirq: make irqreturn_t an enum
authorThomas Gleixner <tglx@linutronix.de>
Tue, 30 Sep 2008 21:14:27 +0000 (23:14 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 13 Mar 2009 13:32:29 +0000 (14:32 +0100)
Impact: cleanup

Remove the 2.4 compabiliy cruft

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Peter Zijlstra <peterz@infradead.org>
include/linux/irq.h
include/linux/irqreturn.h

index 7c07a09931dbd20d82bac76f57d3158c2b14dea1..19770923bcb04c3044d2a8845c7dac7ecf88b5d2 100644 (file)
@@ -280,7 +280,7 @@ static inline int irq_balancing_disabled(unsigned int irq)
 }
 
 /* Handle irq action chains: */
-extern int handle_IRQ_event(unsigned int irq, struct irqaction *action);
+extern irqreturn_t handle_IRQ_event(unsigned int irq, struct irqaction *action);
 
 /*
  * Built-in IRQ handlers for various IRQ types,
@@ -325,7 +325,7 @@ static inline void generic_handle_irq(unsigned int irq)
 
 /* Handling of unhandled and spurious interrupts: */
 extern void note_interrupt(unsigned int irq, struct irq_desc *desc,
-                          int action_ret);
+                          irqreturn_t action_ret);
 
 /* Resending of interrupts :*/
 void check_irq_resend(struct irq_desc *desc, unsigned int irq);
index 881883c2009dfe0b2100697d9bc15ed2d344765f..c5584ca5b8c94e07ecc9340eb14255bd52606915 100644 (file)
@@ -1,25 +1,17 @@
-/* irqreturn.h */
 #ifndef _LINUX_IRQRETURN_H
 #define _LINUX_IRQRETURN_H
 
-/*
- * For 2.4.x compatibility, 2.4.x can use
- *
- *     typedef void irqreturn_t;
- *     #define IRQ_NONE
- *     #define IRQ_HANDLED
- *     #define IRQ_RETVAL(x)
- *
- * To mix old-style and new-style irq handler returns.
- *
- * IRQ_NONE means we didn't handle it.
- * IRQ_HANDLED means that we did have a valid interrupt and handled it.
- * IRQ_RETVAL(x) selects on the two depending on x being non-zero (for handled)
+/**
+ * enum irqreturn
+ * @IRQ_NONE           interrupt was not from this device
+ * @IRQ_HANDLED                interrupt was handled by this device
  */
-typedef int irqreturn_t;
+enum irqreturn {
+       IRQ_NONE,
+       IRQ_HANDLED,
+};
 
-#define IRQ_NONE       (0)
-#define IRQ_HANDLED    (1)
-#define IRQ_RETVAL(x)  ((x) != 0)
+typedef enum irqreturn irqreturn_t;
+#define IRQ_RETVAL(x)  ((x) != IRQ_NONE)
 
 #endif