ARM: 7389/2: plat-versatile: modernize FPGA IRQ controller
authorLinus Walleij <linus.walleij@linaro.org>
Sat, 28 Apr 2012 13:33:47 +0000 (14:33 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Fri, 4 May 2012 15:53:37 +0000 (16:53 +0100)
commit3108e6ab21a9b9dbd88f0b2ff99f73e95b8b1580
tree9e87e1e4196849090103317d109dc95ba9d159f8
parent69964ea4c7b68c9399f7977aa5b9aa6539a6a98a
ARM: 7389/2: plat-versatile: modernize FPGA IRQ controller

This does two things to the FPGA IRQ controller in the versatile
family:

- Convert to MULTI_IRQ_HANDLER so we can drop the entry macro
  from the Integrator. The C IRQ handler was inspired from
  arch/arm/common/vic.c, recent bug discovered in this handler was
  accounted for.
- Convert to using IRQ domains so we can get rid of the NO_IRQ
  mess and proceed with device tree and such stuff.

As part of the exercise, bump all the low IRQ numbers on the
Integrator PIC to start from 1 rather than 0, since IRQ 0 is
now NO_IRQ. The Linux IRQ numbers are thus entirely decoupled
from the hardware IRQ numbers in this controller.

I was unable to split this patch. The main reason is the half-done
conversion to device tree in Versatile.

Tested on Integrator/AP and Integrator/CP.

Cc: Grant Likely <grant.likely@secretlab.ca>
Acked-by: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/Kconfig
arch/arm/mach-integrator/include/mach/entry-macro.S [deleted file]
arch/arm/mach-integrator/include/mach/irqs.h
arch/arm/mach-integrator/integrator_ap.c
arch/arm/mach-integrator/integrator_cp.c
arch/arm/mach-versatile/core.c
arch/arm/plat-versatile/Kconfig
arch/arm/plat-versatile/fpga-irq.c
arch/arm/plat-versatile/include/plat/fpga-irq.h