Input: wm831x-on - pass the IRQF_ONESHOT flag
authorFabio Estevam <fabio.estevam@freescale.com>
Fri, 15 May 2015 22:55:52 +0000 (15:55 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 15 May 2015 22:58:42 +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/wm831x-on.c

index 59d4f7bcb4a3270aef2265e0b7c209acafa1be3c..1b44de265a0ad454a82a2282001f8be75a7875d7 100644 (file)
@@ -99,7 +99,8 @@ static int wm831x_on_probe(struct platform_device *pdev)
        wm831x_on->dev->dev.parent = &pdev->dev;
 
        ret = request_threaded_irq(irq, NULL, wm831x_on_irq,
-                                  IRQF_TRIGGER_RISING, "wm831x_on",
+                                  IRQF_TRIGGER_RISING | IRQF_ONESHOT,
+                                  "wm831x_on",
                                   wm831x_on);
        if (ret < 0) {
                dev_err(&pdev->dev, "Unable to request IRQ: %d\n", ret);