• Linus Walleij's avatar
    ARM: 7389/2: plat-versatile: modernize FPGA IRQ controller · 3108e6ab
    Linus Walleij authored
    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: default avatarRob Herring <rob.herring@calxeda.com>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    3108e6ab
core.c 21.2 KB