mfd: t7l66xb: Consolidate chained IRQ handler install/remove
authorThomas Gleixner <tglx@linutronix.de>
Mon, 13 Jul 2015 20:44:52 +0000 (20:44 +0000)
committerLee Jones <lee.jones@linaro.org>
Tue, 11 Aug 2015 14:09:04 +0000 (15:09 +0100)
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>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/t7l66xb.c

index 96d8298..cc28103 100644 (file)
@@ -249,8 +249,7 @@ static void t7l66xb_attach_irq(struct platform_device *dev)
        }
 
        irq_set_irq_type(t7l66xb->irq, IRQ_TYPE_EDGE_FALLING);
-       irq_set_handler_data(t7l66xb->irq, t7l66xb);
-       irq_set_chained_handler(t7l66xb->irq, t7l66xb_irq);
+       irq_set_chained_handler_and_data(t7l66xb->irq, t7l66xb_irq, t7l66xb);
 }
 
 static void t7l66xb_detach_irq(struct platform_device *dev)
@@ -260,8 +259,7 @@ static void t7l66xb_detach_irq(struct platform_device *dev)
 
        irq_base = t7l66xb->irq_base;
 
-       irq_set_chained_handler(t7l66xb->irq, NULL);
-       irq_set_handler_data(t7l66xb->irq, NULL);
+       irq_set_chained_handler_and_data(t7l66xb->irq, NULL, NULL);
 
        for (irq = irq_base; irq < irq_base + T7L66XB_NR_IRQS; irq++) {
                irq_set_chip(irq, NULL);