aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/irqchip/irq-clps711x.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/irqchip/irq-clps711x.c')
-rw-r--r--drivers/irqchip/irq-clps711x.c18
1 files changed, 7 insertions, 11 deletions
diff --git a/drivers/irqchip/irq-clps711x.c b/drivers/irqchip/irq-clps711x.c
index 33340dc97d1d..33127f131d78 100644
--- a/drivers/irqchip/irq-clps711x.c
+++ b/drivers/irqchip/irq-clps711x.c
@@ -76,24 +76,20 @@ static struct {
76 76
77static asmlinkage void __exception_irq_entry clps711x_irqh(struct pt_regs *regs) 77static asmlinkage void __exception_irq_entry clps711x_irqh(struct pt_regs *regs)
78{ 78{
79 u32 irqnr, irqstat; 79 u32 irqstat;
80 80
81 do { 81 do {
82 irqstat = readw_relaxed(clps711x_intc->intmr[0]) & 82 irqstat = readw_relaxed(clps711x_intc->intmr[0]) &
83 readw_relaxed(clps711x_intc->intsr[0]); 83 readw_relaxed(clps711x_intc->intsr[0]);
84 if (irqstat) { 84 if (irqstat)
85 irqnr = irq_find_mapping(clps711x_intc->domain, 85 handle_domain_irq(clps711x_intc->domain,
86 fls(irqstat) - 1); 86 fls(irqstat) - 1, regs);
87 handle_IRQ(irqnr, regs);
88 }
89 87
90 irqstat = readw_relaxed(clps711x_intc->intmr[1]) & 88 irqstat = readw_relaxed(clps711x_intc->intmr[1]) &
91 readw_relaxed(clps711x_intc->intsr[1]); 89 readw_relaxed(clps711x_intc->intsr[1]);
92 if (irqstat) { 90 if (irqstat)
93 irqnr = irq_find_mapping(clps711x_intc->domain, 91 handle_domain_irq(clps711x_intc->domain,
94 fls(irqstat) - 1 + 16); 92 fls(irqstat) - 1 + 16, regs);
95 handle_IRQ(irqnr, regs);
96 }
97 } while (irqstat); 93 } while (irqstat);
98} 94}
99 95