iio: twl4030-madc: Pass the IRQF_ONESHOT flag
authorFabio Estevam <fabio.estevam@freescale.com>
Sun, 24 May 2015 20:39:04 +0000 (17:39 -0300)
committerJonathan Cameron <jic23@kernel.org>
Sun, 7 Jun 2015 16:28:58 +0000 (17:28 +0100)
Since commit 1c6c69525b40 ("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>
Cc: <stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/adc/twl4030-madc.c

index 94c5f05b4bc1b5ff64fc26dd4825496c706cd4a2..4caecbea4c97da41ca942872c463eb86e9b47b55 100644 (file)
@@ -835,7 +835,8 @@ static int twl4030_madc_probe(struct platform_device *pdev)
        irq = platform_get_irq(pdev, 0);
        ret = devm_request_threaded_irq(&pdev->dev, irq, NULL,
                                   twl4030_madc_threaded_irq_handler,
-                                  IRQF_TRIGGER_RISING, "twl4030_madc", madc);
+                                  IRQF_TRIGGER_RISING | IRQF_ONESHOT,
+                                  "twl4030_madc", madc);
        if (ret) {
                dev_err(&pdev->dev, "could not request irq\n");
                goto err_i2c;