ARM: iop32x: offset IRQ numbers by 1
authorArnd Bergmann <arnd@arndb.de>
Tue, 30 Nov 2021 10:16:41 +0000 (11:16 +0100)
committerArd Biesheuvel <ardb@kernel.org>
Mon, 6 Dec 2021 11:48:52 +0000 (12:48 +0100)
commit9d67412f24cc3a2c05f35f7c856addb07a2960ce
tree6f076f3931d019436aa0b7e36709de14db875e82
parent90890f17ccd2aa96350abd1f4d37d4667e09027f
ARM: iop32x: offset IRQ numbers by 1

iop32x is one of the last platforms to use IRQ 0, and this has apparently
stopped working in a 2014 cleanup without anyone noticing. This interrupt
is used for the DMA engine, so most likely this has not actually worked
in the past 7 years, but it's also not essential for using this board.

I'm splitting out this change from my GENERIC_IRQ_MULTI_HANDLER
conversion so it can be backported if anyone cares.

Fixes: a71b092a9c68 ("ARM: Convert handle_IRQ to use __handle_domain_irq")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
[ardb: take +1 offset into account in mask/unmask and init as well]
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Tested-by: Marc Zyngier <maz@kernel.org>
Tested-by: Vladimir Murzin <vladimir.murzin@arm.com> # ARMv7M
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
arch/arm/mach-iop32x/include/mach/entry-macro.S
arch/arm/mach-iop32x/include/mach/irqs.h
arch/arm/mach-iop32x/irq.c
arch/arm/mach-iop32x/irqs.h