3108e6ab21
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>
23 lines
366 B
Plaintext
23 lines
366 B
Plaintext
if PLAT_VERSATILE
|
|
|
|
config PLAT_VERSATILE_CLCD
|
|
bool
|
|
|
|
config PLAT_VERSATILE_FPGA_IRQ
|
|
bool
|
|
select IRQ_DOMAIN
|
|
|
|
config PLAT_VERSATILE_FPGA_IRQ_NR
|
|
int
|
|
default 4
|
|
depends on PLAT_VERSATILE_FPGA_IRQ
|
|
|
|
config PLAT_VERSATILE_LEDS
|
|
def_bool y if LEDS_CLASS
|
|
depends on ARCH_REALVIEW || ARCH_VERSATILE
|
|
|
|
config PLAT_VERSATILE_SCHED_CLOCK
|
|
def_bool y
|
|
|
|
endif
|