[patch 6/9] mfd/tc6393xb: Consolidate chained IRQ handler install/remove

From: Thomas Gleixner
Date: Mon Jul 13 2015 - 16:45:11 EST


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@xxxxxxxxxxxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Julia Lawall <Julia.Lawall@xxxxxxx>
Cc: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx>
Cc: Lee Jones <lee.jones@xxxxxxxxxx>
---
drivers/mfd/tc6393xb.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)

Index: tip/drivers/mfd/tc6393xb.c
===================================================================
--- tip.orig/drivers/mfd/tc6393xb.c
+++ tip/drivers/mfd/tc6393xb.c
@@ -590,8 +590,8 @@ static void tc6393xb_attach_irq(struct p
}

irq_set_irq_type(tc6393xb->irq, IRQ_TYPE_EDGE_FALLING);
- irq_set_handler_data(tc6393xb->irq, tc6393xb);
- irq_set_chained_handler(tc6393xb->irq, tc6393xb_irq);
+ irq_set_chained_handler_and_data(tc6393xb->irq, tc6393xb_irq,
+ tc6393xb);
}

static void tc6393xb_detach_irq(struct platform_device *dev)
@@ -599,8 +599,7 @@ static void tc6393xb_detach_irq(struct p
struct tc6393xb *tc6393xb = platform_get_drvdata(dev);
unsigned int irq, irq_base;

- irq_set_chained_handler(tc6393xb->irq, NULL);
- irq_set_handler_data(tc6393xb->irq, NULL);
+ irq_set_chained_handler_and_data(tc6393xb->irq, NULL, NULL);

irq_base = tc6393xb->irq_base;



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/