mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
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: Lars-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: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
83bc769200
commit
fe5a8b7f06
1 changed files with 1 additions and 7 deletions
|
@ -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);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue