xen/arm: IRQ: Store IRQ type in arch_irq_desc
authorJulien Grall <julien.grall@linaro.org>
Fri, 16 May 2014 14:40:27 +0000 (15:40 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Wed, 21 May 2014 11:47:53 +0000 (12:47 +0100)
commit8aaf906b8a0545fbedac5bf8bd0588d9e763f340
treea7b147e98f4601b217d024c3917be3569e1376be
parent1f7752978189640fb4725922e901233065d5a3d7
xen/arm: IRQ: Store IRQ type in arch_irq_desc

For now, ARM uses different IRQ functions to setup an interrupt handler. This
is a bit annoying for common driver because we have to add idefery when
an IRQ is setup (see ns16550_init_postirq for an example).

To avoid to completely fork the IRQ management code, we can introduce a field
to store the IRQ type (e.g level/edge ...).

This patch also adds platform_get_irq which will retrieve the IRQ from the
device tree and setup correctly the IRQ type.

In order to use this solution, we have to move init_IRQ earlier for the boot
CPU. It's fine because the code only depends on percpu.

Signed-off-by: Julien Grall <julien.grall@linaro.org>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
xen/arch/arm/gic.c
xen/arch/arm/irq.c
xen/arch/arm/setup.c
xen/include/asm-arm/gic.h
xen/include/asm-arm/irq.h
xen/include/xen/device_tree.h