[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 4/5] xen: refactor irq_set_type out of platform_get_irq
When parsing a PCI nodes interrupt-map property I need to be able to configure an interrupt which has no associated dt_device_node. So refactor the code and expose. Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> --- xen/arch/arm/irq.c | 16 ++++++++++------ xen/include/asm-arm/irq.h | 1 + 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c index 25ecf1d..084324a 100644 --- a/xen/arch/arm/irq.c +++ b/xen/arch/arm/irq.c @@ -520,6 +520,15 @@ unlock: return ret; } +int irq_set_type(unsigned int irq, unsigned int type) +{ + /* Setup the IRQ type */ + if ( irq < NR_LOCAL_IRQS ) + return irq_local_set_type(irq, type); + else + return irq_set_spi_type(irq, type); +} + int platform_get_irq(const struct dt_device_node *device, int index) { struct dt_irq dt_irq; @@ -533,12 +542,7 @@ int platform_get_irq(const struct dt_device_node *device, int index) irq = dt_irq.irq; type = dt_irq.type; - /* Setup the IRQ type */ - if ( irq < NR_LOCAL_IRQS ) - res = irq_local_set_type(irq, type); - else - res = irq_set_spi_type(irq, type); - + res = irq_set_type(irq, type); if ( res ) return -1; diff --git a/xen/include/asm-arm/irq.h b/xen/include/asm-arm/irq.h index e877334..778e79a 100644 --- a/xen/include/asm-arm/irq.h +++ b/xen/include/asm-arm/irq.h @@ -47,6 +47,7 @@ void arch_move_irqs(struct vcpu *v); /* Set IRQ type for an SPI */ int irq_set_spi_type(unsigned int spi, unsigned int type); +int irq_set_type(unsigned int irq, unsigned int type); int platform_get_irq(const struct dt_device_node *device, int index); void irq_set_affinity(struct irq_desc *desc, const cpumask_t *cpu_mask); -- 1.7.10.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |