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 e7c0623f90915b8929dd3a89923daaea9e38f099..89de539ed0100624ead2e5ea6d7f9790eed11cf2 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 14e52ec7afa5093d643807361aaf33e3711268f3..52edc848391174868399e0120f6cd467c8341e35 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 aa6579a64a2f0dccae0a81f66a5886680934e773..17604b4a81cc9905b91ce2b7240847f0fb4fcd32 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 c31498be0bbb48a9a244e70bd503342daac33a4b..1f7e9765d954b9bbcd20d9d0d376dbd383d64848 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 0defa9457e7f91edd607bba27b153df21581d380..9b2cbcac98e0c67062a93f70c165d1e5dc28b099 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 a4b7fcbc556b5fe817be7f1dbfe7cd604555d128..7a479d224dc79da2c1d371469110e40158d870be 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 106db05684aeaebcaa67afc497e4ddb75a9066fc..1f99b51a3d56b225c0673ca6d451da2b075e406b 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 7b208db267bfcc238cb69fc3fecd583c188e7b1c..c95566ade51b0b0cd6794a861cf71995c000364c 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 3589fe8b86ba988abbedfe3cc4ee4b7d7ca32b73..ebf8860911877f5b7232fc5f18d7d7a686089d62 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);