Merge branch 'ppi-irq-core-for-rmk' of git://github.com/mzyngier/arm-platforms into...
authorRussell King <rmk+kernel@arm.linux.org.uk>
Sun, 23 Oct 2011 13:42:30 +0000 (14:42 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sun, 23 Oct 2011 13:42:30 +0000 (14:42 +0100)
1  2 
arch/arm/Kconfig
arch/arm/common/gic.c
arch/arm/include/asm/hardware/gic.h
arch/arm/kernel/Makefile
arch/arm/mach-msm/board-msm8x60.c

Simple merge
index 734db99eaee768bb060ac684fd6cff19d33b1472,a2b3205039318413f26f1b57828472ad34fe2e53..016c1aeb847c5c5aa2cfd092ced53e2c8e017c39
  #include <linux/kernel.h>
  #include <linux/list.h>
  #include <linux/smp.h>
 +#include <linux/cpu_pm.h>
  #include <linux/cpumask.h>
  #include <linux/io.h>
+ #include <linux/interrupt.h>
+ #include <linux/percpu.h>
+ #include <linux/slab.h>
  
  #include <asm/irq.h>
  #include <asm/mach/irq.h>
@@@ -277,8 -286,23 +287,25 @@@ static void __init gic_dist_init(struc
        if (gic_irqs > 1020)
                gic_irqs = 1020;
  
 +      gic->gic_irqs = gic_irqs;
 +
+       /*
+        * Nobody would be insane enough to use PPIs on a secondary
+        * GIC, right?
+        */
+       if (gic == &gic_data[0]) {
+               nrppis = (32 - irq_start) & 31;
+               /* The GIC only supports up to 16 PPIs. */
+               if (nrppis > 16)
+                       BUG();
+               ppi_base = gic->irq_offset + 32 - nrppis;
+       }
+       pr_info("Configuring GIC with %d sources (%d PPIs)\n",
+               gic_irqs, (gic == &gic_data[0]) ? nrppis : 0);
        /*
         * Set all global interrupts to be level triggered, active low.
         */
Simple merge
Simple merge
Simple merge