aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/irqchip/irq-mips-gic.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2016-09-22 22:49:52 +0200
committerThomas Gleixner <tglx@linutronix.de>2016-09-22 22:49:52 +0200
commit474aa3dd3e1f3ae410115fe6624ba48fc9791bc5 (patch)
treefcc7de41f698eb7eb018e992d60494bb60833a24 /drivers/irqchip/irq-mips-gic.c
parentARM/dts: Add EXTI controller node to stm32f429 (diff)
parentMerge branch 'irqchip/mvebu64' into irqchip/core (diff)
downloadlinux-dev-474aa3dd3e1f3ae410115fe6624ba48fc9791bc5.tar.xz
linux-dev-474aa3dd3e1f3ae410115fe6624ba48fc9791bc5.zip
Merge tag 'irqchip-core-4.9' of git://git.infradead.org/users/jcooper/linux into irq/core
Pull irqchip core changes for v4.9 from Jason Cooper - jcore: Add AIC driver - mips-gic: Use for_each_set_bit - mvebu: Add PIC driver
Diffstat (limited to 'drivers/irqchip/irq-mips-gic.c')
-rw-r--r--drivers/irqchip/irq-mips-gic.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/drivers/irqchip/irq-mips-gic.c b/drivers/irqchip/irq-mips-gic.c
index 8f7d38ba24c6..c0178a122940 100644
--- a/drivers/irqchip/irq-mips-gic.c
+++ b/drivers/irqchip/irq-mips-gic.c
@@ -371,18 +371,13 @@ static void gic_handle_shared_int(bool chained)
bitmap_and(pending, pending, intrmask, gic_shared_intrs);
bitmap_and(pending, pending, pcpu_mask, gic_shared_intrs);
- intr = find_first_bit(pending, gic_shared_intrs);
- while (intr != gic_shared_intrs) {
+ for_each_set_bit(intr, pending, gic_shared_intrs) {
virq = irq_linear_revmap(gic_irq_domain,
GIC_SHARED_TO_HWIRQ(intr));
if (chained)
generic_handle_irq(virq);
else
do_IRQ(virq);
-
- /* go to next pending bit */
- bitmap_clear(pending, intr, 1);
- intr = find_first_bit(pending, gic_shared_intrs);
}
}