diff options
Diffstat (limited to 'drivers/irqchip/irq-clps711x.c')
-rw-r--r-- | drivers/irqchip/irq-clps711x.c | 18 |
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 | ||
77 | static asmlinkage void __exception_irq_entry clps711x_irqh(struct pt_regs *regs) | 77 | static 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 | ||