aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2008-10-15 13:07:35 +0200
committerIngo Molnar <mingo@elte.hu>2008-10-16 16:53:14 +0200
commit7ef0c30dbf96a8d9a234e90c248eb19df3c031be (patch)
treee9e77d581e70cee0725ad568d42c0769783f4f89
parent81608f3c254512b906ab78082ec5966b376aacd5 (diff)
genirq: define nr_irqs for architectures with GENERIC_HARDIRQS=n
Revert the sparse irq changes in m68k/s390/sparc and just define nr_irqs as NR_IRQS for those architectures. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--arch/m68k/kernel/ints.c3
-rw-r--r--arch/s390/kernel/irq.c3
-rw-r--r--arch/sparc/kernel/irq.c4
-rw-r--r--include/linux/interrupt.h8
4 files changed, 5 insertions, 13 deletions
diff --git a/arch/m68k/kernel/ints.c b/arch/m68k/kernel/ints.c
index 44169e4cd91..7e8a0d394e6 100644
--- a/arch/m68k/kernel/ints.c
+++ b/arch/m68k/kernel/ints.c
@@ -46,9 +46,6 @@
#include <asm/q40ints.h>
#endif
-int nr_irqs = NR_IRQS;
-EXPORT_SYMBOL(nr_irqs);
-
extern u32 auto_irqhandler_fixup[];
extern u32 user_irqhandler_fixup[];
extern u16 user_irqvec_fixup[];
diff --git a/arch/s390/kernel/irq.c b/arch/s390/kernel/irq.c
index 3624c4a0037..e7c5bfb7c75 100644
--- a/arch/s390/kernel/irq.c
+++ b/arch/s390/kernel/irq.c
@@ -17,9 +17,6 @@
#include <linux/proc_fs.h>
#include <linux/profile.h>
-int nr_irqs = NR_IRQS;
-EXPORT_SYMBOL(nr_irqs);
-
/*
* show_interrupts is needed by /proc/interrupts.
*/
diff --git a/arch/sparc/kernel/irq.c b/arch/sparc/kernel/irq.c
index 4b99e3ce391..93e1d1c6529 100644
--- a/arch/sparc/kernel/irq.c
+++ b/arch/sparc/kernel/irq.c
@@ -55,10 +55,6 @@
#define SMP_NOP2
#define SMP_NOP3
#endif /* SMP */
-
-int nr_irqs = NR_IRQS;
-EXPORT_SYMBOL(nr_irqs);
-
unsigned long __raw_local_irq_save(void)
{
unsigned long retval;
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
index d4039a0b23f..5a57df2ee92 100644
--- a/include/linux/interrupt.h
+++ b/include/linux/interrupt.h
@@ -15,11 +15,13 @@
#include <asm/ptrace.h>
#include <asm/system.h>
-extern int nr_irqs;
-
#ifndef CONFIG_GENERIC_HARDIRQS
-#define for_each_irq_desc(irq, desc) \
+# define for_each_irq_desc(irq, desc) \
for (irq = 0; irq < nr_irqs; irq++)
+
+# define nr_irqs NR_IRQS
+#else
+extern int nr_irqs;
#endif
/*