• Arnd Bergmann's avatar
    ARM: riscpc: use GENERIC_IRQ_MULTI_HANDLER · c1fe8d05
    Arnd Bergmann authored
    This is one of the last platforms using the old entry path.
    While this code path is spread over a few files, it is fairly
    straightforward to convert it into an equivalent C version,
    leaving the existing algorithm and all the priority handling
    the same.
    
    Unlike most irqchip drivers, this means reading the status
    register(s) in a loop and always handling the highest-priority
    irq first.
    
    The IOMD_IRQREQC and IOMD_IRQREQD registers are not actaully
    used here, but I left the code in place for the time being,
    to keep the conversion as direct as possible. It could be
    removed in a cleanup on top.
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    [ardb: drop obsolete IOMD_IRQREQC/IOMD_IRQREQD handling]
    Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
    Tested-by: default avatarMarc Zyngier <maz@kernel.org>
    Tested-by: Vladimir Murzin <vladimir.murzin@arm.com> # ARMv7M
    c1fe8d05
irq.c 5.98 KB