regulator: lp8755: Convert to devm_request_threaded_irq
authorAxel Lin <axel.lin@ingics.com>
Sun, 31 May 2015 06:06:46 +0000 (14:06 +0800)
committerMark Brown <broonie@kernel.org>
Tue, 2 Jun 2015 14:35:17 +0000 (15:35 +0100)
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/lp8755.c

index 4a415d4ee4635a45074205c5a5cdda998c09a720..d6773da925bad00f3bc227294255f8786c2eaf9b 100644 (file)
@@ -419,20 +419,16 @@ static int lp8755_int_config(struct lp8755_chip *pchip)
        }
 
        ret = lp8755_read(pchip, 0x0F, &regval);
-       if (ret < 0)
-               goto err_i2c;
-       pchip->irqmask = regval;
-       ret = request_threaded_irq(pchip->irq, NULL, lp8755_irq_handler,
-                                  IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
-                                  "lp8755-irq", pchip);
-       if (ret)
+       if (ret < 0) {
+               dev_err(pchip->dev, "i2c acceess error %s\n", __func__);
                return ret;
+       }
 
-       return ret;
-
-err_i2c:
-       dev_err(pchip->dev, "i2c acceess error %s\n", __func__);
-       return ret;
+       pchip->irqmask = regval;
+       return devm_request_threaded_irq(pchip->dev, pchip->irq, NULL,
+                                        lp8755_irq_handler,
+                                        IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
+                                        "lp8755-irq", pchip);
 }
 
 static const struct regmap_config lp8755_regmap = {
@@ -514,9 +510,6 @@ static int lp8755_remove(struct i2c_client *client)
        for (icnt = 0; icnt < LP8755_BUCK_MAX; icnt++)
                lp8755_write(pchip, icnt, 0x00);
 
-       if (pchip->irq != 0)
-               free_irq(pchip->irq, pchip);
-
        return 0;
 }