summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/include/asm/apicdef.h8
-rw-r--r--include/linux/irqnr.h6
-rw-r--r--kernel/irq/handle.c5
3 files changed, 11 insertions, 8 deletions
diff --git a/arch/x86/include/asm/apicdef.h b/arch/x86/include/asm/apicdef.h
index 1a6454ef7f6..63134e31e8b 100644
--- a/arch/x86/include/asm/apicdef.h
+++ b/arch/x86/include/asm/apicdef.h
@@ -132,8 +132,12 @@
#define APIC_BASE_MSR 0x800
#define X2APIC_ENABLE (1UL << 10)
-/* get MAX_IO_APICS */
-#include <asm/apicnum.h>
+#ifdef CONFIG_X86_32
+# define MAX_IO_APICS 64
+#else
+# define MAX_IO_APICS 128
+# define MAX_LOCAL_APIC 32768
+#endif
/*
* All x86-64 systems are xAPIC compatible.
diff --git a/include/linux/irqnr.h b/include/linux/irqnr.h
index de66e4e1040..887477bc2ab 100644
--- a/include/linux/irqnr.h
+++ b/include/linux/irqnr.h
@@ -23,15 +23,9 @@
#else /* CONFIG_GENERIC_HARDIRQS */
-#include <asm/irq_vectors.h> /* need possible max_nr_irqs() */
-
extern int nr_irqs;
extern struct irq_desc *irq_to_desc(unsigned int irq);
-# ifndef max_nr_irqs
-# define max_nr_irqs(nr_cpus) NR_IRQS
-# endif
-
# define for_each_irq_desc(irq, desc) \
for (irq = 0, desc = irq_to_desc(irq); irq < nr_irqs; \
irq++, desc = irq_to_desc(irq)) \
diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c
index b39f32ac8f8..04d3e46031e 100644
--- a/kernel/irq/handle.c
+++ b/kernel/irq/handle.c
@@ -58,6 +58,11 @@ int nr_irqs = NR_IRQS;
EXPORT_SYMBOL_GPL(nr_irqs);
#ifdef CONFIG_SPARSE_IRQ
+
+#ifndef max_nr_irqs
+#define max_nr_irqs(nr_cpus) NR_IRQS
+#endif
+
static struct irq_desc irq_desc_init = {
.irq = -1,
.status = IRQ_DISABLED,