Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e3c871ab authored by Thomas Gleixner's avatar Thomas Gleixner Committed by Jason Cooper
Browse files

irqchip: spear_shirq: Use the proper interfaces



No point in doing a full irq lookup, when the desc pointer is
available.

Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/20140619212713.404243909@linutronix.de


Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: default avatarJason Cooper <jason@lakedaemon.net>
parent 03319a1a
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -232,12 +232,12 @@ static struct irq_chip shirq_chip = {

static void shirq_handler(unsigned irq, struct irq_desc *desc)
{
	u32 i, j, val, mask, tmp;
	struct irq_chip *chip;
	struct spear_shirq *shirq = irq_get_handler_data(irq);
	struct irq_data *idata = irq_desc_get_irq_data(desc);
	struct irq_chip *chip = irq_data_get_irq_chip(idata);
	u32 i, j, val, mask, tmp;

	chip = irq_get_chip(irq);
	chip->irq_ack(&desc->irq_data);
	chip->irq_ack(idata);

	mask = ((0x1 << shirq->nr_irqs) - 1) << shirq->offset;
	while ((val = readl(shirq->base + shirq->regs.status_reg) &
@@ -263,7 +263,7 @@ static void shirq_handler(unsigned irq, struct irq_desc *desc)
			writel(tmp, shirq->base + shirq->regs.clear_reg);
		}
	}
	chip->irq_unmask(&desc->irq_data);
	chip->irq_unmask(idata);
}

static void __init spear_shirq_register(struct spear_shirq *shirq,