mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-03 00:54:09 +08:00
gpio/rockchip: Convert to generic_handle_domain_irq()
Follow commit dbd1c54fc8
("gpio: Bulk conversion to
generic_handle_domain_irq()").
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
This commit is contained in:
parent
66df18b3bd
commit
b98dbd82ee
@ -325,26 +325,15 @@ static void rockchip_irq_demux(struct irq_desc *desc)
|
||||
{
|
||||
struct irq_chip *chip = irq_desc_get_chip(desc);
|
||||
struct rockchip_pin_bank *bank = irq_desc_get_handler_data(desc);
|
||||
u32 pend;
|
||||
unsigned long pending;
|
||||
unsigned int irq;
|
||||
|
||||
dev_dbg(bank->dev, "got irq for bank %s\n", bank->name);
|
||||
|
||||
chained_irq_enter(chip, desc);
|
||||
|
||||
pend = readl_relaxed(bank->reg_base + bank->gpio_regs->int_status);
|
||||
|
||||
while (pend) {
|
||||
unsigned int irq, virq;
|
||||
|
||||
irq = __ffs(pend);
|
||||
pend &= ~BIT(irq);
|
||||
virq = irq_find_mapping(bank->domain, irq);
|
||||
|
||||
if (!virq) {
|
||||
dev_err(bank->dev, "unmapped irq %d\n", irq);
|
||||
continue;
|
||||
}
|
||||
|
||||
pending = readl_relaxed(bank->reg_base + bank->gpio_regs->int_status);
|
||||
for_each_set_bit(irq, &pending, 32) {
|
||||
dev_dbg(bank->dev, "handling irq %d\n", irq);
|
||||
|
||||
/*
|
||||
@ -378,7 +367,7 @@ static void rockchip_irq_demux(struct irq_desc *desc)
|
||||
} while ((data & BIT(irq)) != (data_old & BIT(irq)));
|
||||
}
|
||||
|
||||
generic_handle_irq(virq);
|
||||
generic_handle_domain_irq(bank->domain, irq);
|
||||
}
|
||||
|
||||
chained_irq_exit(chip, desc);
|
||||
|
Loading…
Reference in New Issue
Block a user