aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/irqchip/irq-versatile-fpga.c
diff options
context:
space:
mode:
authorThomas Gleixner <[email protected]>2015-06-21 19:11:00 +0000
committerThomas Gleixner <[email protected]>2015-07-11 21:14:26 +0000
commitfcd3c5bee16a2c3c9cd6c4cb8e3e093d458d9f86 (patch)
tree95387e0703348cf2178453b508eca8bc7671ab2b /drivers/irqchip/irq-versatile-fpga.c
parentirqchip/tb10x: Consolidate chained IRQ handler install/remove (diff)
downloadkernel-fcd3c5bee16a2c3c9cd6c4cb8e3e093d458d9f86.tar.gz
kernel-fcd3c5bee16a2c3c9cd6c4cb8e3e093d458d9f86.zip
irqchip/versatile: 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: @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); | -irq_set_handler_data(E1, E2); ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); @@ expression E1, E2, E3; @@ ( -if (irq_set_handler_data(E1, E2) != 0) - BUG(); ... | -irq_set_handler_data(E1, E2); ... ) -irq_set_chained_handler(E1, E3); +irq_set_chained_handler_and_data(E1, E3, E2); Reported-by: Russell King <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Cc: Julia Lawall <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Jason Cooper <[email protected]>
Diffstat (limited to 'drivers/irqchip/irq-versatile-fpga.c')
-rw-r--r--drivers/irqchip/irq-versatile-fpga.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/irqchip/irq-versatile-fpga.c b/drivers/irqchip/irq-versatile-fpga.c
index 4ba480b92844..70088bb3fb53 100644
--- a/drivers/irqchip/irq-versatile-fpga.c
+++ b/drivers/irqchip/irq-versatile-fpga.c
@@ -155,8 +155,8 @@ void __init fpga_irq_init(void __iomem *base, const char *name, int irq_start,
f->valid = valid;
if (parent_irq != -1) {
- irq_set_handler_data(parent_irq, f);
- irq_set_chained_handler(parent_irq, fpga_irq_handle);
+ irq_set_chained_handler_and_data(parent_irq, fpga_irq_handle,
+ f);
}
/* This will also allocate irq descriptors */