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

index 0e0d094df2e6665ca678b7f619f44b97aefa6229..ea63fad48de643be287648820c52bb7911771957 100644 (file)
@@ -308,7 +308,8 @@ static int twl6040_vibra_probe(struct platform_device *pdev)
        mutex_init(&info->mutex);
 
        error = devm_request_threaded_irq(&pdev->dev, info->irq, NULL,
-                                         twl6040_vib_irq_handler, 0,
+                                         twl6040_vib_irq_handler,
+                                         IRQF_ONESHOT,
                                          "twl6040_irq_vib", info);
        if (error) {
                dev_err(info->dev, "VIB IRQ request failed: %d\n", error);