Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mfd: twl4030-irq: Pass the IRQF_ONESHOT flag

Since commit 1c6c69525b40eb76de8adf039409722015927dc3 ("genirq: Reject
bogus threaded irq requests") threaded IRQs without a primary handler
need to be requested with IRQF_ONESHOT, otherwise the request will fail.

So pass the IRQF_ONESHOT flag in this case.

The semantic patch that makes this change is available
in scripts/coccinelle/misc/irqf_oneshot.cocci.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>

authored by

Fabio Estevam and committed by
Lee Jones
7d5b1ed8 cf55078b

+1 -1
+1 -1
drivers/mfd/twl4030-irq.c
··· 674 674 irq_set_handler_data(irq, agent); 675 675 agent->irq_name = kasprintf(GFP_KERNEL, "twl4030_%s", sih->name); 676 676 status = request_threaded_irq(irq, NULL, handle_twl4030_sih, 677 - IRQF_EARLY_RESUME, 677 + IRQF_EARLY_RESUME | IRQF_ONESHOT, 678 678 agent->irq_name ?: sih->name, NULL); 679 679 680 680 dev_info(dev, "%s (irq %d) chaining IRQs %d..%d\n", sih->name,