aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMagnus Damm <damm@opensource.se>2011-11-22 01:29:54 -0500
committerPaul Mundt <lethal@linux-sh.org>2011-11-24 03:24:04 -0500
commitdcb4ea869877b00fd1c761662bfd9359d15a8c2a (patch)
tree2a822138c9b005211d2c149cd117bf4e3fd536b6
parent1b6cec8a6910ca08d727898453baad22b0122920 (diff)
ARM: mach-shmobile: Kota2 GIC Sparse IRQ fix
Fix IRQ support on the Kota2 board. The sh73a0 and the Kota2 board make use of the ARM GIC hardware block as main interrupt controller. The following commit changed the default behaviour for non-device tree platforms and broke Kota2 irq support: f37a53c ARM: gic: fix irq_alloc_descs handling for sparse irq Without this fix the following warning triggers at boot: NR_IRQS:1024 nr_irqs:1024 1024 ------------[ cut here ]------------ WARNING: at arch/arm/common/gic.c:607 gic_init+0x90/0x2e4() Cannot allocate irq_descs @ IRQ16, assuming pre-allocated [<c000c868>] (unwind_backtrace+0x0/0xe0) from [<c001857c>] (warn_slowpath_commo) [<c001857c>] (warn_slowpath_common+0x48/0x60) from [<c00185d8>] (warn_slowpath_) [<c00185d8>] (warn_slowpath_fmt+0x2c/0x3c) from [<c029ee08>] (gic_init+0x90/0x2) [<c029ee08>] (gic_init+0x90/0x2e4) from [<c029f278>] (sh73a0_init_irq+0x30/0x18) [<c029f278>] (sh73a0_init_irq+0x30/0x184) from [<c029c0b4>] (init_IRQ+0x14/0x1c) [<c029c0b4>] (init_IRQ+0x14/0x1c) from [<c029a5cc>] (start_kernel+0x15c/0x2b8) [<c029a5cc>] (start_kernel+0x15c/0x2b8) from [<4000803c>] (0x4000803c) ---[ end trace 1b75b31a2719ed1c ]--- With this fix applied interrupts work as expected. Signed-off-by: Magnus Damm <damm@opensource.se> Acked-by: Rob Herring <rob.herring@calxeda.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
-rw-r--r--arch/arm/mach-shmobile/board-kota2.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/board-kota2.c b/arch/arm/mach-shmobile/board-kota2.c
index 5e084b9a8404..53e5e45521aa 100644
--- a/arch/arm/mach-shmobile/board-kota2.c
+++ b/arch/arm/mach-shmobile/board-kota2.c
@@ -435,6 +435,7 @@ struct sys_timer kota2_timer = {
435 435
436MACHINE_START(KOTA2, "kota2") 436MACHINE_START(KOTA2, "kota2")
437 .map_io = kota2_map_io, 437 .map_io = kota2_map_io,
438 .nr_irqs = NR_IRQS_LEGACY,
438 .init_irq = sh73a0_init_irq, 439 .init_irq = sh73a0_init_irq,
439 .handle_irq = shmobile_handle_irq_gic, 440 .handle_irq = shmobile_handle_irq_gic,
440 .init_machine = kota2_init, 441 .init_machine = kota2_init,