Message ID | 1404825038-547-12-git-send-email-marc.zyngier@arm.com |
---|---|
State | Superseded |
Headers | show |
Hi Marc, On Tue, Jul 08, 2014 at 02:10:34PM +0100, Marc Zyngier wrote: > Use the new handle_domain_irq method to handle interrupts. > > Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> I tested this one on an A13 olinuxino. It worked well. I also tested with CONFIG_PROVE_RCU enabled. Antoine > --- > drivers/irqchip/irq-sun4i.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/drivers/irqchip/irq-sun4i.c b/drivers/irqchip/irq-sun4i.c > index 6fcef4a..64155b6 100644 > --- a/drivers/irqchip/irq-sun4i.c > +++ b/drivers/irqchip/irq-sun4i.c > @@ -136,7 +136,7 @@ IRQCHIP_DECLARE(allwinner_sun4i_ic, "allwinner,sun4i-a10-ic", sun4i_of_init); > > static void __exception_irq_entry sun4i_handle_irq(struct pt_regs *regs) > { > - u32 irq, hwirq; > + u32 hwirq; > > /* > * hwirq == 0 can mean one of 3 things: > @@ -154,8 +154,7 @@ static void __exception_irq_entry sun4i_handle_irq(struct pt_regs *regs) > return; > > do { > - irq = irq_find_mapping(sun4i_irq_domain, hwirq); > - handle_IRQ(irq, regs); > + handle_domain_irq(sun4i_irq_domain, hwirq, regs); > hwirq = readl(sun4i_irq_base + SUN4I_IRQ_VECTOR_REG) >> 2; > } while (hwirq != 0); > } > -- > 2.0.0 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
diff --git a/drivers/irqchip/irq-sun4i.c b/drivers/irqchip/irq-sun4i.c index 6fcef4a..64155b6 100644 --- a/drivers/irqchip/irq-sun4i.c +++ b/drivers/irqchip/irq-sun4i.c @@ -136,7 +136,7 @@ IRQCHIP_DECLARE(allwinner_sun4i_ic, "allwinner,sun4i-a10-ic", sun4i_of_init); static void __exception_irq_entry sun4i_handle_irq(struct pt_regs *regs) { - u32 irq, hwirq; + u32 hwirq; /* * hwirq == 0 can mean one of 3 things: @@ -154,8 +154,7 @@ static void __exception_irq_entry sun4i_handle_irq(struct pt_regs *regs) return; do { - irq = irq_find_mapping(sun4i_irq_domain, hwirq); - handle_IRQ(irq, regs); + handle_domain_irq(sun4i_irq_domain, hwirq, regs); hwirq = readl(sun4i_irq_base + SUN4I_IRQ_VECTOR_REG) >> 2; } while (hwirq != 0); }
Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> --- drivers/irqchip/irq-sun4i.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)