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>
11 lines
231 B
C
11 lines
231 B
C
#ifndef PLAT_FPGA_IRQ_H
|
|
#define PLAT_FPGA_IRQ_H
|
|
|
|
struct device_node;
|
|
struct pt_regs;
|
|
|
|
void fpga_handle_irq(struct pt_regs *regs);
|
|
void fpga_irq_init(void __iomem *, const char *, int, int, u32,
|
|
struct device_node *node);
|
|
|
|
#endif
|