xtensa: don't use linux IRQ #0
authorMax Filippov <jcmvbkbc@gmail.com>
Mon, 5 Jun 2017 09:43:51 +0000 (02:43 -0700)
committerMax Filippov <jcmvbkbc@gmail.com>
Mon, 5 Jun 2017 23:53:10 +0000 (16:53 -0700)
commite5c86679d5e864947a52fb31e45a425dea3e7fa9
treec0eb37a4f2386c131ddb2725f4ac4ae781402473
parent6bf28969f617f0131e94deb5476f4c45f43fd847
xtensa: don't use linux IRQ #0

Linux IRQ #0 is reserved for error reporting and may not be used.
Increase NR_IRQS for one additional slot and increase
irq_domain_add_legacy parameter first_irq value to 1, so that linux
IRQ #0 is not associated with hardware IRQ #0 in legacy IRQ domains.
Introduce macro XTENSA_PIC_LINUX_IRQ for static translation of xtensa
PIC hardware IRQ # to linux IRQ #. Use this macro in XTFPGA platform
data definitions.

This fixes inability to use hardware IRQ #0 in configurations that don't
use device tree and allows for non-identity mapping between linux IRQ #
and hardware IRQ #.

Cc: stable@vger.kernel.org
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
arch/xtensa/include/asm/irq.h
arch/xtensa/kernel/irq.c
arch/xtensa/platforms/xtfpga/include/platform/hardware.h
arch/xtensa/platforms/xtfpga/setup.c
drivers/irqchip/irq-xtensa-mx.c
drivers/irqchip/irq-xtensa-pic.c