power: supply: sbs-battery: fix the sbs interrupt request
authorRyosuke Saito <raitosyo@gmail.com>
Fri, 21 Apr 2017 03:13:17 +0000 (12:13 +0900)
committerSebastian Reichel <sre@kernel.org>
Mon, 1 May 2017 09:52:24 +0000 (11:52 +0200)
Since we use the default primary handler for the irq, IRQF_ONESHOT must
be set. Otherwise the request fails and the following errors are
displayed:

genirq: Threaded irq requested with handler=NULL and !ONESHOT for irq 129
sbs-battery 0-000b: Failed to request irq: -22

Signed-off-by: Ryosuke Saito <raitosyo@gmail.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
drivers/power/supply/sbs-battery.c

index 8bb2eb38eb1c872e7a50f7aa765c9c4c712c79f1..e07d570f504f2b05d1cfa756c167d32e24c0d8f7 100644 (file)
@@ -820,7 +820,7 @@ static int sbs_probe(struct i2c_client *client,
        }
 
        rc = devm_request_threaded_irq(&client->dev, irq, NULL, sbs_irq,
-               IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
+               IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
                dev_name(&client->dev), chip);
        if (rc) {
                dev_warn(&client->dev, "Failed to request irq: %d\n", rc);