mirror of https://gitee.com/openkylin/linux.git
gpio/mpc8xxx: Consolidate chained IRQ handler install/remove
Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle: Reported-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Julia Lawall <Julia.Lawall@lip6.fr> Cc: Linus Walleij <linus.walleij@linaro.org> Cc: Alexandre Courbot <gnurou@gmail.com> Cc: linux-gpio@vger.kernel.org
This commit is contained in:
parent
01e2d0627a
commit
05379818e4
|
@ -396,8 +396,8 @@ static int mpc8xxx_probe(struct platform_device *pdev)
|
|||
out_be32(mm_gc->regs + GPIO_IER, 0xffffffff);
|
||||
out_be32(mm_gc->regs + GPIO_IMR, 0);
|
||||
|
||||
irq_set_handler_data(mpc8xxx_gc->irqn, mpc8xxx_gc);
|
||||
irq_set_chained_handler(mpc8xxx_gc->irqn, mpc8xxx_gpio_irq_cascade);
|
||||
irq_set_chained_handler_and_data(mpc8xxx_gc->irqn,
|
||||
mpc8xxx_gpio_irq_cascade, mpc8xxx_gc);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -407,8 +407,7 @@ static int mpc8xxx_remove(struct platform_device *pdev)
|
|||
struct mpc8xxx_gpio_chip *mpc8xxx_gc = platform_get_drvdata(pdev);
|
||||
|
||||
if (mpc8xxx_gc->irq) {
|
||||
irq_set_handler_data(mpc8xxx_gc->irqn, NULL);
|
||||
irq_set_chained_handler(mpc8xxx_gc->irqn, NULL);
|
||||
irq_set_chained_handler_and_data(mpc8xxx_gc->irqn, NULL, NULL);
|
||||
irq_domain_remove(mpc8xxx_gc->irq);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue