提交 fe5a8b7f 编写于 作者: L Lars-Peter Clausen 提交者: Ralf Baechle

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: NLars-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: NRalf Baechle <ralf@linux-mips.org>
上级 83bc7692
...@@ -301,22 +301,16 @@ static void jz_gpio_irq_demux_handler(unsigned int irq, struct irq_desc *desc) ...@@ -301,22 +301,16 @@ static void jz_gpio_irq_demux_handler(unsigned int irq, struct irq_desc *desc)
{ {
uint32_t flag; uint32_t flag;
unsigned int gpio_irq; unsigned int gpio_irq;
unsigned int gpio_bank;
struct jz_gpio_chip *chip = irq_desc_get_handler_data(desc); 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); flag = readl(chip->base + JZ_REG_GPIO_FLAG);
if (!flag) if (!flag)
return; return;
gpio_irq = __fls(flag); gpio_irq = chip->irq_base + __fls(flag);
jz_gpio_check_trigger_both(chip, irq); jz_gpio_check_trigger_both(chip, irq);
gpio_irq += (gpio_bank << 5) + JZ4740_IRQ_GPIO(0);
generic_handle_irq(gpio_irq); generic_handle_irq(gpio_irq);
}; };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册