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

Commit fe5a8b7f authored by Lars-Peter Clausen's avatar Lars-Peter Clausen Committed by Ralf Baechle
Browse files

MIPS: JZ4740: GPIO: Simplify IRQ demuxer



We already know the base IRQ for a GPIO chip, so there is no need to
recalculate it in the demux handler.

Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Cc: Lars-Peter Clausen <lars@metafoo.de>
Patchwork: http://patchwork.linux-mips.org/patch/2432/


Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 83bc7692
Loading
Loading
Loading
Loading
+1 −7
Original line number Diff line number Diff line
@@ -301,22 +301,16 @@ static void jz_gpio_irq_demux_handler(unsigned int irq, struct irq_desc *desc)
{
	uint32_t flag;
	unsigned int gpio_irq;
	unsigned int gpio_bank;
	struct jz_gpio_chip *chip = irq_desc_get_handler_data(desc);

	gpio_bank = JZ4740_IRQ_GPIO0 - irq;

	flag = readl(chip->base + JZ_REG_GPIO_FLAG);

	if (!flag)
		return;

	gpio_irq = __fls(flag);
	gpio_irq = chip->irq_base + __fls(flag);

	jz_gpio_check_trigger_both(chip, irq);

	gpio_irq += (gpio_bank << 5) + JZ4740_IRQ_GPIO(0);

	generic_handle_irq(gpio_irq);
};