ARC: Prepare interrupt code for external controllers
authorChristian Ruppert <christian.ruppert@abilis.com>
Thu, 11 Apr 2013 13:19:39 +0000 (15:19 +0200)
committerVineet Gupta <vgupta@synopsys.com>
Tue, 7 May 2013 08:13:58 +0000 (13:43 +0530)
This patch adds some room for CPU-external interrupt controllers in the
Linux interrupt space. Until now, only the 32 CPU internal interrupt lines
were supported which does not allow for external interrupt controllers such
as GPIO modules etc.

Signed-off-by: Christian Ruppert <christian.ruppert@abilis.com>
Signed-off-by: Pierrick Hascoet <pierrick.hascoet@abilis.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/include/asm/irq.h
arch/arc/kernel/irq.c

index 4c588f9..57898a1 100644 (file)
@@ -9,7 +9,8 @@
 #ifndef __ASM_ARC_IRQ_H
 #define __ASM_ARC_IRQ_H
 
-#define NR_IRQS                32
+#define NR_CPU_IRQS    32  /* number of interrupt lines of ARC770 CPU */
+#define NR_IRQS                128 /* allow some CPU external IRQ handling */
 
 /* Platform Independent IRQs */
 #define TIMER0_IRQ      3
index dd4b7e3..8115fa5 100644 (file)
@@ -105,7 +105,7 @@ init_onchip_IRQ(struct device_node *intc, struct device_node *parent)
        if (parent)
                panic("DeviceTree incore intc not a root irq controller\n");
 
-       root_domain = irq_domain_add_legacy(intc, NR_IRQS, 0, 0,
+       root_domain = irq_domain_add_legacy(intc, NR_CPU_IRQS, 0, 0,
                                            &arc_intc_domain_ops, NULL);
 
        if (!root_domain)