Input: twl4030-pwrbutton - pass the IRQF_ONESHOT flag
authorFabio Estevam <fabio.estevam@freescale.com>
Fri, 15 May 2015 22:55:23 +0000 (15:55 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 15 May 2015 22:58:40 +0000 (15:58 -0700)
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: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/misc/twl4030-pwrbutton.c

index e98cc81a84c6434c11add23ef20bcf090441c17c..603fc2fadf057d9bb08f9a373e0bf6b20440dc18 100644 (file)
@@ -71,7 +71,8 @@ static int twl4030_pwrbutton_probe(struct platform_device *pdev)
        pwr->dev.parent = &pdev->dev;
 
        err = devm_request_threaded_irq(&pwr->dev, irq, NULL, powerbutton_irq,
-                       IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING,
+                       IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING |
+                       IRQF_ONESHOT,
                        "twl4030_pwrbutton", pwr);
        if (err < 0) {
                dev_err(&pdev->dev, "Can't get IRQ for pwrbutton: %d\n", err);