[PATCH] adjust handle_IRR_event() return type
Correct the return type of handle_IRQ_event() (inconsistency noticed during Xen development), and remove redundant declarations. The return type adjustment required breaking out the definition of irqreturn_t into a separate header, in order to satisfy current include order dependencies. Signed-off-by: Jan Beulich <jbeulich@novell.com> Cc: Richard Henderson <rth@twiddle.net> Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Cc: Russell King <rmk@arm.linux.org.uk> Cc: Ian Molton <spyro@f2s.com> Cc: Mikael Starvik <starvik@axis.com> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Cc: Hirokazu Takata <takata.hirokazu@renesas.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: William Lee Irwin III <wli@holomorphy.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Miles Bader <uclinux-v850@lsi.nec.co.jp> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:

committed by
Linus Torvalds

parent
a5d6839b75
commit
908dcecda1
@@ -7,32 +7,13 @@
|
||||
#include <linux/bitops.h>
|
||||
#include <linux/preempt.h>
|
||||
#include <linux/cpumask.h>
|
||||
#include <linux/irqreturn.h>
|
||||
#include <linux/hardirq.h>
|
||||
#include <linux/sched.h>
|
||||
#include <asm/atomic.h>
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/system.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)
|
||||
*/
|
||||
typedef int irqreturn_t;
|
||||
|
||||
#define IRQ_NONE (0)
|
||||
#define IRQ_HANDLED (1)
|
||||
#define IRQ_RETVAL(x) ((x) != 0)
|
||||
|
||||
struct irqaction {
|
||||
irqreturn_t (*handler)(int, void *, struct pt_regs *);
|
||||
unsigned long flags;
|
||||
|
@@ -17,6 +17,7 @@
|
||||
#include <linux/cache.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/cpumask.h>
|
||||
#include <linux/irqreturn.h>
|
||||
|
||||
#include <asm/irq.h>
|
||||
#include <asm/ptrace.h>
|
||||
@@ -175,7 +176,7 @@ static inline void set_balance_irq_affinity(unsigned int irq, cpumask_t mask)
|
||||
extern int no_irq_affinity;
|
||||
extern int noirqdebug_setup(char *str);
|
||||
|
||||
extern fastcall int handle_IRQ_event(unsigned int irq, struct pt_regs *regs,
|
||||
extern fastcall irqreturn_t handle_IRQ_event(unsigned int irq, struct pt_regs *regs,
|
||||
struct irqaction *action);
|
||||
extern fastcall unsigned int __do_IRQ(unsigned int irq, struct pt_regs *regs);
|
||||
extern void note_interrupt(unsigned int irq, irq_desc_t *desc,
|
||||
|
25
include/linux/irqreturn.h
Normal file
25
include/linux/irqreturn.h
Normal file
@@ -0,0 +1,25 @@
|
||||
/* 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)
|
||||
*/
|
||||
typedef int irqreturn_t;
|
||||
|
||||
#define IRQ_NONE (0)
|
||||
#define IRQ_HANDLED (1)
|
||||
#define IRQ_RETVAL(x) ((x) != 0)
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user