]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/regulator/wm8350-regulator.c
Merge remote-tracking branch 'regulator/topic/linear' into regulator-next
[karo-tx-linux.git] / drivers / regulator / wm8350-regulator.c
index 3827539f3ad7c5e4168b8eb129d724d8ba4ff489..de7b9c73e3fa09f3b14db1c5d8949ca99a37c352 100644 (file)
@@ -1204,7 +1204,8 @@ static int wm8350_regulator_probe(struct platform_device *pdev)
        config.regmap = wm8350->regmap;
 
        /* register regulator */
-       rdev = regulator_register(&wm8350_reg[pdev->id], &config);
+       rdev = devm_regulator_register(&pdev->dev, &wm8350_reg[pdev->id],
+                                      &config);
        if (IS_ERR(rdev)) {
                dev_err(&pdev->dev, "failed to register %s\n",
                        wm8350_reg[pdev->id].name);
@@ -1215,7 +1216,6 @@ static int wm8350_regulator_probe(struct platform_device *pdev)
        ret = wm8350_register_irq(wm8350, wm8350_reg[pdev->id].irq,
                                  pmic_uv_handler, 0, "UV", rdev);
        if (ret < 0) {
-               regulator_unregister(rdev);
                dev_err(&pdev->dev, "failed to register regulator %s IRQ\n",
                        wm8350_reg[pdev->id].name);
                return ret;
@@ -1231,8 +1231,6 @@ static int wm8350_regulator_remove(struct platform_device *pdev)
 
        wm8350_free_irq(wm8350, wm8350_reg[pdev->id].irq, rdev);
 
-       regulator_unregister(rdev);
-
        return 0;
 }