rtc: isl1208: Pass the IRQF_ONESHOT flag
authorFabio Estevam <fabio.estevam@freescale.com>
Mon, 19 Oct 2015 00:06:22 +0000 (22:06 -0200)
committerAlexandre Belloni <alexandre.belloni@free-electrons.com>
Sun, 8 Nov 2015 13:12:30 +0000 (14:12 +0100)
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: Alexandre Belloni <alexandre.belloni@free-electrons.com>
drivers/rtc/rtc-isl1208.c

index aa3b8f1b34d932a90256b13e99b0a6d53ec5c5cc..b57a304ff62c65ff4877d7c27c81b37a5a872bcb 100644 (file)
@@ -638,7 +638,7 @@ isl1208_probe(struct i2c_client *client, const struct i2c_device_id *id)
        if (client->irq > 0) {
                rc = devm_request_threaded_irq(&client->dev, client->irq, NULL,
                                               isl1208_rtc_interrupt,
-                                              IRQF_SHARED,
+                                              IRQF_SHARED | IRQF_ONESHOT,
                                               isl1208_driver.driver.name,
                                               client);
                if (!rc) {