diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2014-06-19 17:34:40 -0400 |
---|---|---|
committer | Jason Cooper <jason@lakedaemon.net> | 2014-06-24 08:37:50 -0400 |
commit | e3c871ab232ccc5fd82f76b21b9cae0113f01dc0 (patch) | |
tree | e569f3164814d87779b88443aa5603596b88c63a /drivers/irqchip/spear-shirq.c | |
parent | 03319a1a2966ec39be79182d6d529221c38fde72 (diff) |
irqchip: spear_shirq: Use the proper interfaces
No point in doing a full irq lookup, when the desc pointer is
available.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/20140619212713.404243909@linutronix.de
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Diffstat (limited to 'drivers/irqchip/spear-shirq.c')
-rw-r--r-- | drivers/irqchip/spear-shirq.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/irqchip/spear-shirq.c b/drivers/irqchip/spear-shirq.c index 7ebb1a2fbfc7..874950c014be 100644 --- a/drivers/irqchip/spear-shirq.c +++ b/drivers/irqchip/spear-shirq.c | |||
@@ -232,12 +232,12 @@ static struct irq_chip shirq_chip = { | |||
232 | 232 | ||
233 | static void shirq_handler(unsigned irq, struct irq_desc *desc) | 233 | static void shirq_handler(unsigned irq, struct irq_desc *desc) |
234 | { | 234 | { |
235 | u32 i, j, val, mask, tmp; | ||
236 | struct irq_chip *chip; | ||
237 | struct spear_shirq *shirq = irq_get_handler_data(irq); | 235 | struct spear_shirq *shirq = irq_get_handler_data(irq); |
236 | struct irq_data *idata = irq_desc_get_irq_data(desc); | ||
237 | struct irq_chip *chip = irq_data_get_irq_chip(idata); | ||
238 | u32 i, j, val, mask, tmp; | ||
238 | 239 | ||
239 | chip = irq_get_chip(irq); | 240 | chip->irq_ack(idata); |
240 | chip->irq_ack(&desc->irq_data); | ||
241 | 241 | ||
242 | mask = ((0x1 << shirq->nr_irqs) - 1) << shirq->offset; | 242 | mask = ((0x1 << shirq->nr_irqs) - 1) << shirq->offset; |
243 | while ((val = readl(shirq->base + shirq->regs.status_reg) & | 243 | while ((val = readl(shirq->base + shirq->regs.status_reg) & |
@@ -263,7 +263,7 @@ static void shirq_handler(unsigned irq, struct irq_desc *desc) | |||
263 | writel(tmp, shirq->base + shirq->regs.clear_reg); | 263 | writel(tmp, shirq->base + shirq->regs.clear_reg); |
264 | } | 264 | } |
265 | } | 265 | } |
266 | chip->irq_unmask(&desc->irq_data); | 266 | chip->irq_unmask(idata); |
267 | } | 267 | } |
268 | 268 | ||
269 | static void __init spear_shirq_register(struct spear_shirq *shirq, | 269 | static void __init spear_shirq_register(struct spear_shirq *shirq, |