Commit bedd30d9 authored by Thomas Gleixner's avatar Thomas Gleixner

genirq: make irqreturn_t an enum

Impact: cleanup

Remove the 2.4 compabiliy cruft
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Reviewed-by: default avatarPeter Zijlstra <peterz@infradead.org>
parent c8e2aeef
...@@ -280,7 +280,7 @@ static inline int irq_balancing_disabled(unsigned int irq) ...@@ -280,7 +280,7 @@ static inline int irq_balancing_disabled(unsigned int irq)
} }
/* Handle irq action chains: */ /* 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, * Built-in IRQ handlers for various IRQ types,
...@@ -325,7 +325,7 @@ static inline void generic_handle_irq(unsigned int irq) ...@@ -325,7 +325,7 @@ static inline void generic_handle_irq(unsigned int irq)
/* Handling of unhandled and spurious interrupts: */ /* Handling of unhandled and spurious interrupts: */
extern void note_interrupt(unsigned int irq, struct irq_desc *desc, extern void note_interrupt(unsigned int irq, struct irq_desc *desc,
int action_ret); irqreturn_t action_ret);
/* Resending of interrupts :*/ /* Resending of interrupts :*/
void check_irq_resend(struct irq_desc *desc, unsigned int irq); void check_irq_resend(struct irq_desc *desc, unsigned int irq);
......
/* irqreturn.h */
#ifndef _LINUX_IRQRETURN_H #ifndef _LINUX_IRQRETURN_H
#define _LINUX_IRQRETURN_H #define _LINUX_IRQRETURN_H
/* /**
* For 2.4.x compatibility, 2.4.x can use * enum irqreturn
* * @IRQ_NONE interrupt was not from this device
* typedef void irqreturn_t; * @IRQ_HANDLED interrupt was handled by this device
* #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)
*/ */
typedef int irqreturn_t; enum irqreturn {
IRQ_NONE,
IRQ_HANDLED,
};
#define IRQ_NONE (0) typedef enum irqreturn irqreturn_t;
#define IRQ_HANDLED (1) #define IRQ_RETVAL(x) ((x) != IRQ_NONE)
#define IRQ_RETVAL(x) ((x) != 0)
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment