These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / regulator / lp8755.c
index 4a415d4..d6773da 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;
 }