C6X/meagmod-pic: Consolidate chained IRQ handler install/remove
authorThomas Gleixner <tglx@linutronix.de>
Mon, 13 Jul 2015 20:38:38 +0000 (20:38 +0000)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 27 Jul 2015 11:36:37 +0000 (13:36 +0200)
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: Mark Salter <msalter@redhat.com>
Cc: Aurelien Jacquiot <a-jacquiot@ti.com>
Cc: linux-c6x-dev@linux-c6x.org
Cc: Julia Lawall <Julia.Lawall@lip6.fr>
Link: http://lkml.kernel.org/r/20150713130429.697731509@linutronix.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/c6x/platforms/megamod-pic.c

index 74e3371eb8245bc4c769eff1b8923707c0fc883f..349bc01fc76c129b0ca577871a6ebf9768167520 100644 (file)
@@ -282,8 +282,8 @@ static struct megamod_pic * __init init_megamod_pic(struct device_node *np)
                soc_writel(~0, &pic->regs->evtmask[i]);
                soc_writel(~0, &pic->regs->evtclr[i]);
 
-               irq_set_handler_data(irq, &cascade_data[i]);
-               irq_set_chained_handler(irq, megamod_irq_cascade);
+               irq_set_chained_handler_and_data(irq, megamod_irq_cascade,
+                                                &cascade_data[i]);
        }
 
        /* Finally, set up the MUX registers */