summaryrefslogtreecommitdiff
path: root/drivers/irqchip/irq-orion.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2014-05-08 17:07:23 +0200
committerThomas Gleixner <tglx@linutronix.de>2014-05-08 17:07:23 +0200
commit9faa8321e8ff15799c684270e9b15aa294c2e676 (patch)
treec30eced1b7fa1a1ef4c29a4087bb2f4cf9e45792 /drivers/irqchip/irq-orion.c
parent1e77d0a1ed7417d2a5a52a7b8d32aea1833faa6c (diff)
parentbffbc6eabd0e48bba5415c4aec34cb75d459c73a (diff)
Merge tag 'irqchip-mvebu-3.16' of git://git.infradead.org/linux-mvebu into irq/core
irqchip mvebu changes for v3.16 from Jason Cooper: * orion: reverse irq handling priority * armada-370-xp: do set_smp_cross_call in the driver * armada-370-xp use cpu notifier to init secondary cpus Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'drivers/irqchip/irq-orion.c')
-rw-r--r--drivers/irqchip/irq-orion.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/irqchip/irq-orion.c b/drivers/irqchip/irq-orion.c
index e25f246cd2fb..34d18b48bb78 100644
--- a/drivers/irqchip/irq-orion.c
+++ b/drivers/irqchip/irq-orion.c
@@ -42,7 +42,7 @@ __exception_irq_entry orion_handle_irq(struct pt_regs *regs)
u32 stat = readl_relaxed(gc->reg_base + ORION_IRQ_CAUSE) &
gc->mask_cache;
while (stat) {
- u32 hwirq = ffs(stat) - 1;
+ u32 hwirq = __fls(stat);
u32 irq = irq_find_mapping(orion_irq_domain,
gc->irq_base + hwirq);
handle_IRQ(irq, regs);
@@ -117,7 +117,7 @@ static void orion_bridge_irq_handler(unsigned int irq, struct irq_desc *desc)
gc->mask_cache;
while (stat) {
- u32 hwirq = ffs(stat) - 1;
+ u32 hwirq = __fls(stat);
generic_handle_irq(irq_find_mapping(d, gc->irq_base + hwirq));
stat &= ~(1 << hwirq);