+ adjust-handle_irr_event-return-type.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled

     adjust handle_IRR_event() return type

has been added to the -mm tree.  Its filename is

     adjust-handle_irr_event-return-type.patch

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this


From: "Jan Beulich" <jbeulich@xxxxxxxxxx>

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@xxxxxxxxxx>

Cc: Richard Henderson <rth@xxxxxxxxxxx>
Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx>
Cc: Russell King <rmk@xxxxxxxxxxxxxxxx>
Cc: Ian Molton <spyro@xxxxxxx>
Cc: Mikael Starvik <starvik@xxxxxxxx>
Cc: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx>
Cc: Hirokazu Takata <takata.hirokazu@xxxxxxxxxxx>
Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
Cc: William Lee Irwin III <wli@xxxxxxxxxxxxxx>
Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
Cc: Miles Bader <uclinux-v850@xxxxxxxxxxxxx>
Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Cc: Roman Zippel <zippel@xxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

 include/asm-alpha/irq.h     |    4 ----
 include/asm-arm/irq.h       |    4 ----
 include/asm-arm26/irq.h     |    4 ----
 include/asm-h8300/irq.h     |    4 ----
 include/asm-m68k/irq.h      |    4 ----
 include/asm-m68knommu/irq.h |    4 ----
 include/asm-s390/irq.h      |    4 ----
 include/asm-sparc/irq.h     |    4 ----
 include/asm-sparc64/irq.h   |    4 ----
 include/asm-v850/irq.h      |    2 --
 include/linux/interrupt.h   |   21 +--------------------
 include/linux/irq.h         |    3 ++-
 include/linux/irqreturn.h   |   25 +++++++++++++++++++++++++
 kernel/irq/handle.c         |    5 +++--
 14 files changed, 31 insertions(+), 61 deletions(-)

diff -puN include/asm-alpha/irq.h~adjust-handle_irr_event-return-type include/asm-alpha/irq.h
--- 25/include/asm-alpha/irq.h~adjust-handle_irr_event-return-type	Mon May  8 12:25:44 2006
+++ 25-akpm/include/asm-alpha/irq.h	Mon May  8 12:25:44 2006
@@ -93,8 +93,4 @@ extern void enable_irq(unsigned int);
 struct pt_regs;
 extern void (*perf_irq)(unsigned long, struct pt_regs *);
 
-struct irqaction;
-int handle_IRQ_event(unsigned int, struct pt_regs *, struct irqaction *);
-
-
 #endif /* _ALPHA_IRQ_H */
diff -puN include/asm-arm26/irq.h~adjust-handle_irr_event-return-type include/asm-arm26/irq.h
--- 25/include/asm-arm26/irq.h~adjust-handle_irr_event-return-type	Mon May  8 12:25:44 2006
+++ 25-akpm/include/asm-arm26/irq.h	Mon May  8 12:25:44 2006
@@ -44,9 +44,5 @@ extern void enable_irq(unsigned int);
 
 int set_irq_type(unsigned int irq, unsigned int type);
 
-int setup_irq(unsigned int, struct irqaction *);
-struct pt_regs;
-int handle_IRQ_event(unsigned int, struct pt_regs *, struct irqaction *);
-
 #endif
 
diff -puN include/asm-arm/irq.h~adjust-handle_irr_event-return-type include/asm-arm/irq.h
--- 25/include/asm-arm/irq.h~adjust-handle_irr_event-return-type	Mon May  8 12:25:44 2006
+++ 25-akpm/include/asm-arm/irq.h	Mon May  8 12:25:44 2006
@@ -47,10 +47,6 @@ void disable_irq_wake(unsigned int irq);
 void enable_irq_wake(unsigned int irq);
 int setup_irq(unsigned int, struct irqaction *);
 
-struct irqaction;
-struct pt_regs;
-int handle_IRQ_event(unsigned int, struct pt_regs *, struct irqaction *);
-
 extern void migrate_irqs(void);
 #endif
 
diff -puN include/asm-h8300/irq.h~adjust-handle_irr_event-return-type include/asm-h8300/irq.h
--- 25/include/asm-h8300/irq.h~adjust-handle_irr_event-return-type	Mon May  8 12:25:44 2006
+++ 25-akpm/include/asm-h8300/irq.h	Mon May  8 12:25:44 2006
@@ -63,8 +63,4 @@ extern void enable_irq(unsigned int);
 extern void disable_irq(unsigned int);
 #define disable_irq_nosync(x)	disable_irq(x)
 
-struct irqaction;
-struct pt_regs;
-int handle_IRQ_event(unsigned int, struct pt_regs *, struct irqaction *);
-
 #endif /* _H8300_IRQ_H_ */
diff -puN include/asm-m68k/irq.h~adjust-handle_irr_event-return-type include/asm-m68k/irq.h
--- 25/include/asm-m68k/irq.h~adjust-handle_irr_event-return-type	Mon May  8 12:25:44 2006
+++ 25-akpm/include/asm-m68k/irq.h	Mon May  8 12:25:44 2006
@@ -131,8 +131,4 @@ extern volatile unsigned int num_spuriou
  */
 extern irq_node_t *new_irq_node(void);
 
-struct irqaction;
-struct pt_regs;
-int handle_IRQ_event(unsigned int, struct pt_regs *, struct irqaction *);
-
 #endif /* _M68K_IRQ_H_ */
diff -puN include/asm-m68knommu/irq.h~adjust-handle_irr_event-return-type include/asm-m68knommu/irq.h
--- 25/include/asm-m68knommu/irq.h~adjust-handle_irr_event-return-type	Mon May  8 12:25:44 2006
+++ 25-akpm/include/asm-m68knommu/irq.h	Mon May  8 12:25:44 2006
@@ -88,8 +88,4 @@ extern void (*mach_disable_irq)(unsigned
 #define disable_irq(x)	do { } while (0)
 #define disable_irq_nosync(x)	disable_irq(x)
 
-struct irqaction;
-struct pt_regs;
-int handle_IRQ_event(unsigned int, struct pt_regs *, struct irqaction *);
-
 #endif /* _M68K_IRQ_H_ */
diff -puN include/asm-s390/irq.h~adjust-handle_irr_event-return-type include/asm-s390/irq.h
--- 25/include/asm-s390/irq.h~adjust-handle_irr_event-return-type	Mon May  8 12:25:44 2006
+++ 25-akpm/include/asm-s390/irq.h	Mon May  8 12:25:44 2006
@@ -21,10 +21,6 @@ enum interruption_class {
 
 #define touch_nmi_watchdog() do { } while(0)
 
-struct irqaction;
-struct pt_regs;
-int handle_IRQ_event(unsigned int, struct pt_regs *, struct irqaction *);
-
 #endif /* __KERNEL__ */
 #endif
 
diff -puN include/asm-sparc64/irq.h~adjust-handle_irr_event-return-type include/asm-sparc64/irq.h
--- 25/include/asm-sparc64/irq.h~adjust-handle_irr_event-return-type	Mon May  8 12:25:44 2006
+++ 25-akpm/include/asm-sparc64/irq.h	Mon May  8 12:25:44 2006
@@ -140,8 +140,4 @@ static __inline__ unsigned long get_soft
 	return retval;
 }
 
-struct irqaction;
-struct pt_regs;
-int handle_IRQ_event(unsigned int, struct pt_regs *, struct irqaction *);
-
 #endif
diff -puN include/asm-sparc/irq.h~adjust-handle_irr_event-return-type include/asm-sparc/irq.h
--- 25/include/asm-sparc/irq.h~adjust-handle_irr_event-return-type	Mon May  8 12:25:44 2006
+++ 25-akpm/include/asm-sparc/irq.h	Mon May  8 12:25:44 2006
@@ -184,8 +184,4 @@ extern struct sun4m_intregs *sun4m_inter
 #define SUN4M_INT_SBUS(x)	(1 << (x+7))
 #define SUN4M_INT_VME(x)	(1 << (x))
 
-struct irqaction;
-struct pt_regs;
-int handle_IRQ_event(unsigned int, struct pt_regs *, struct irqaction *);
-
 #endif
diff -puN include/asm-v850/irq.h~adjust-handle_irr_event-return-type include/asm-v850/irq.h
--- 25/include/asm-v850/irq.h~adjust-handle_irr_event-return-type	Mon May  8 12:25:44 2006
+++ 25-akpm/include/asm-v850/irq.h	Mon May  8 12:25:44 2006
@@ -62,8 +62,6 @@ extern void disable_irq (unsigned int ir
 /* Disable an irq without waiting. */
 extern void disable_irq_nosync (unsigned int irq);
 
-extern int handle_IRQ_event(unsigned int, struct pt_regs *, struct irqaction *);
-
 #endif /* !__ASSEMBLY__ */
 
 #endif /* __V850_IRQ_H__ */
diff -puN include/linux/interrupt.h~adjust-handle_irr_event-return-type include/linux/interrupt.h
--- 25/include/linux/interrupt.h~adjust-handle_irr_event-return-type	Mon May  8 12:25:44 2006
+++ 25-akpm/include/linux/interrupt.h	Mon May  8 12:25:44 2006
@@ -8,32 +8,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;
diff -puN include/linux/irq.h~adjust-handle_irr_event-return-type include/linux/irq.h
--- 25/include/linux/irq.h~adjust-handle_irr_event-return-type	Mon May  8 12:25:44 2006
+++ 25-akpm/include/linux/irq.h	Mon May  8 12:25:44 2006
@@ -18,6 +18,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>
@@ -168,7 +169,7 @@ static inline void set_irq_info(int irq,
 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,
diff -puN /dev/null include/linux/irqreturn.h
--- /dev/null	Thu Apr 11 07:25:15 2002
+++ 25-akpm/include/linux/irqreturn.h	Mon May  8 12:25:44 2006
@@ -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
diff -puN kernel/irq/handle.c~adjust-handle_irr_event-return-type kernel/irq/handle.c
--- 25/kernel/irq/handle.c~adjust-handle_irr_event-return-type	Mon May  8 12:25:44 2006
+++ 25-akpm/kernel/irq/handle.c	Mon May  8 12:25:44 2006
@@ -76,10 +76,11 @@ irqreturn_t no_action(int cpl, void *dev
 /*
  * Have got an event to handle:
  */
-fastcall int handle_IRQ_event(unsigned int irq, struct pt_regs *regs,
+fastcall irqreturn_t handle_IRQ_event(unsigned int irq, struct pt_regs *regs,
 				struct irqaction *action)
 {
-	int ret, retval = 0, status = 0;
+	irqreturn_t ret, retval = IRQ_NONE;
+	unsigned int status = 0;
 
 	if (!(action->flags & SA_INTERRUPT))
 		local_irq_enable();
_

Patches currently in -mm which might be from jbeulich@xxxxxxxxxx are

dprintk-adjustments-to-cpufreq-nforce2.patch
dprintk-adjustments-to-cpufreq-speedstep-centrino.patch
cpufreq-dprintk-adjustments.patch
git-kbuild.patch
mpt_interrupt-should-return-irq_none-when.patch
fix-x86-microcode-driver-handling-of-multiple-matching.patch
adjust-handle_irr_event-return-type.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux