arm/irq: Add helper function for setting interrupt type

Add a helper function to set edge/level type information for an
interrupt.

Signed-off-by: Parth Dixit <parth.dixit@linaro.org>
Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
This commit is contained in:
Parth Dixit authored and Jan Beulich committed 2016-03-03 09:08:54 +01:00
1 parent 07390d3122
commit 800c57d6f1
2 files changed
+19 -12

No files matched your search

+17 -12
View File
@@ -655,27 +655,32 @@ unlock:
return ret;
}
int platform_get_irq(const struct dt_device_node *device, int index)
int irq_set_type(unsigned int irq, unsigned int type)
{
struct dt_irq dt_irq;
unsigned int type, irq;
int res;
res = dt_device_get_irq(device, index, &dt_irq);
if ( res )
return -1;
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);
if ( res )
return -1;
return res;
}
int platform_get_irq(const struct dt_device_node *device, int index)
{
struct dt_irq dt_irq;
unsigned int type, irq;
if ( dt_device_get_irq(device, index, &dt_irq) )
return -1;
irq = dt_irq.irq;
type = dt_irq.type;
if ( irq_set_type(irq, type) )
return -1;
return irq;
}
+2
View File
@@ -52,6 +52,8 @@ 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);
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.