Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 079140f5 authored by Thomas Gleixner's avatar Thomas Gleixner Committed by Lee Jones
Browse files

mfd: tc6393xb: 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: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
parent de7c9e0d
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -590,8 +590,8 @@ static void tc6393xb_attach_irq(struct platform_device *dev)
	}

	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 platform_device *dev)
	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;