Blackfin: increase NR_IRQS beyond NR on-chip IRQs
authorMichael Hennerich <michael.hennerich@analog.com>
Tue, 19 Jan 2010 14:45:38 +0000 (14:45 +0000)
committerMike Frysinger <vapier@gentoo.org>
Tue, 9 Mar 2010 05:30:49 +0000 (00:30 -0500)
This makes room for off-chip IRQ controllers.

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
arch/blackfin/include/asm/irq.h
arch/blackfin/mach-bf518/include/mach/irq.h
arch/blackfin/mach-bf527/include/mach/irq.h
arch/blackfin/mach-bf533/include/mach/irq.h
arch/blackfin/mach-bf537/include/mach/irq.h
arch/blackfin/mach-bf538/include/mach/irq.h
arch/blackfin/mach-bf548/include/mach/irq.h
arch/blackfin/mach-bf561/include/mach/irq.h
arch/blackfin/mach-common/ints-priority.c

index e7c0623..89de539 100644 (file)
@@ -12,6 +12,9 @@
 
 #include <linux/irqflags.h>
 
+/* IRQs that may be used by external irq_chip controllers */
+#define NR_SPARE_IRQS  32
+
 #include <mach/anomaly.h>
 
 /* SYS_IRQS and NR_IRQS are defined in <mach-bf5xx/irq.h> */
index 14e52ec..52edc84 100644 (file)
 
 #define GPIO_IRQ_BASE  IRQ_PF0
 
-#define NR_IRQS     (IRQ_PH15 + 1)
+#define NR_MACH_IRQS   (IRQ_PH15 + 1)
+#define NR_IRQS                (NR_MACH_IRQS + NR_SPARE_IRQS)
 
 #define IVG7            7
 #define IVG8            8
index aa6579a..17604b4 100644 (file)
 
 #define GPIO_IRQ_BASE  IRQ_PF0
 
-#define NR_IRQS     (IRQ_PH15+1)
+#define NR_MACH_IRQS   (IRQ_PH15 + 1)
+#define NR_IRQS                (NR_MACH_IRQS + NR_SPARE_IRQS)
 
 #define IVG7            7
 #define IVG8            8
index c31498b..1f7e976 100644 (file)
@@ -104,7 +104,8 @@ Core        Emulation               **
 
 #define GPIO_IRQ_BASE          IRQ_PF0
 
-#define        NR_IRQS         (IRQ_PF15+1)
+#define NR_MACH_IRQS           (IRQ_PF15 + 1)
+#define NR_IRQS                        (NR_MACH_IRQS + NR_SPARE_IRQS)
 
 #define IVG7                   7
 #define IVG8                   8
index 0defa94..9b2cbca 100644 (file)
 
 #define GPIO_IRQ_BASE  IRQ_PF0
 
-#define NR_IRQS     (IRQ_PH15+1)
+#define NR_MACH_IRQS   (IRQ_PH15 + 1)
+#define NR_IRQS                (NR_MACH_IRQS + NR_SPARE_IRQS)
 
 #define IVG7            7
 #define IVG8            8
index a4b7fcb..7a479d2 100644 (file)
 
 #define GPIO_IRQ_BASE  IRQ_PF0
 
-#define NR_IRQS     (IRQ_PF15+1)
+#define NR_MACH_IRQS   (IRQ_PF15 + 1)
+#define NR_IRQS                (NR_MACH_IRQS + NR_SPARE_IRQS)
 
 #define IVG7            7
 #define IVG8            8
index 106db05..1f99b51 100644 (file)
@@ -317,7 +317,8 @@ Events         (highest priority)  EMU         0
 
 #define GPIO_IRQ_BASE  IRQ_PA0
 
-#define NR_IRQS     (IRQ_PJ15+1)
+#define NR_MACH_IRQS   (IRQ_PJ15 + 1)
+#define NR_IRQS                (NR_MACH_IRQS + NR_SPARE_IRQS)
 
 /* For compatibility reasons with existing code */
 
index 7b208db..c95566a 100644 (file)
 
 #define GPIO_IRQ_BASE          IRQ_PF0
 
-#define NR_IRQS                        (IRQ_PF47 + 1)
+#define NR_MACH_IRQS           (IRQ_PF47 + 1)
+#define NR_IRQS                        (NR_MACH_IRQS + NR_SPARE_IRQS)
 
 #define IVG7                   7
 #define IVG8                   8
index 3589fe8..ebf8860 100644 (file)
@@ -1114,7 +1114,7 @@ int __init init_arch_irq(void)
 #endif
 
        /* if configured as edge, then will be changed to do_edge_IRQ */
-       for (irq = GPIO_IRQ_BASE; irq < NR_IRQS; irq++)
+       for (irq = GPIO_IRQ_BASE; irq < NR_MACH_IRQS; irq++)
                set_irq_chip_and_handler(irq, &bfin_gpio_irqchip,
                                         handle_level_irq);