mfd: si476x-i2c: Pass the IRQF_ONESHOT flag
authorFabio Estevam <fabio.estevam@freescale.com>
Sat, 16 May 2015 18:42:17 +0000 (15:42 -0300)
committerLee Jones <lee.jones@linaro.org>
Mon, 22 Jun 2015 11:25:29 +0000 (12:25 +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: Lee Jones <lee.jones@linaro.org>
drivers/mfd/si476x-i2c.c

index 7f87c62d91b3b67f92a3904bc61f94b062c0c408..e3deb466628bf53db45ec22d854ddce4a998b47f 100644 (file)
@@ -777,7 +777,8 @@ static int si476x_core_probe(struct i2c_client *client,
                rval = devm_request_threaded_irq(&client->dev,
                                                 client->irq, NULL,
                                                 si476x_core_interrupt,
-                                                IRQF_TRIGGER_FALLING,
+                                                IRQF_TRIGGER_FALLING |
+                                                IRQF_ONESHOT,
                                                 client->name, core);
                if (rval < 0) {
                        dev_err(&client->dev, "Could not request IRQ %d\n",