Skip to content

Commit

Permalink
genirq: make irqreturn_t an enum
Browse files Browse the repository at this point in the history
Impact: cleanup

Remove the 2.4 compabiliy cruft

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Peter Zijlstra <peterz@infradead.org>
  • Loading branch information
Thomas Gleixner committed Mar 13, 2009

Unverified

No user is associated with the committer email.
1 parent c8e2aee commit bedd30d
Showing 2 changed files with 12 additions and 20 deletions.
4 changes: 2 additions & 2 deletions include/linux/irq.h
Original file line number Diff line number Diff line change
@@ -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);
28 changes: 10 additions & 18 deletions include/linux/irqreturn.h
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit bedd30d

Please sign in to comment.