Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[firefly-linux-kernel-4.4.55.git] / drivers / regulator / tps80031-regulator.c
index 6511d0bfd8964ecba4861dfd30c91d727c39ef25..71f457a42623f602541ae5d69b90521d673c9e2b 100644 (file)
@@ -719,7 +719,7 @@ static int tps80031_regulator_probe(struct platform_device *pdev)
                        if (ret < 0) {
                                dev_err(&pdev->dev,
                                        "regulator config failed, e %d\n", ret);
-                               goto fail;
+                               return ret;
                        }
 
                        ret = tps80031_power_req_config(pdev->dev.parent,
@@ -727,41 +727,22 @@ static int tps80031_regulator_probe(struct platform_device *pdev)
                        if (ret < 0) {
                                dev_err(&pdev->dev,
                                        "pwr_req config failed, err %d\n", ret);
-                               goto fail;
+                               return ret;
                        }
                }
-               rdev = regulator_register(&ri->rinfo->desc, &config);
+               rdev = devm_regulator_register(&pdev->dev, &ri->rinfo->desc,
+                                              &config);
                if (IS_ERR(rdev)) {
                        dev_err(&pdev->dev,
                                "register regulator failed %s\n",
                                        ri->rinfo->desc.name);
-                       ret = PTR_ERR(rdev);
-                       goto fail;
+                       return PTR_ERR(rdev);
                }
                ri->rdev = rdev;
        }
 
        platform_set_drvdata(pdev, pmic);
        return 0;
-fail:
-       while (--num >= 0) {
-               ri = &pmic[num];
-               regulator_unregister(ri->rdev);
-       }
-       return ret;
-}
-
-static int tps80031_regulator_remove(struct platform_device *pdev)
-{
-       struct tps80031_regulator *pmic = platform_get_drvdata(pdev);
-       struct tps80031_regulator *ri = NULL;
-       int num;
-
-       for (num = 0; num < TPS80031_REGULATOR_MAX; ++num) {
-               ri = &pmic[num];
-               regulator_unregister(ri->rdev);
-       }
-       return 0;
 }
 
 static struct platform_driver tps80031_regulator_driver = {
@@ -770,7 +751,6 @@ static struct platform_driver tps80031_regulator_driver = {
                .owner  = THIS_MODULE,
        },
        .probe          = tps80031_regulator_probe,
-       .remove         = tps80031_regulator_remove,
 };
 
 static int __init tps80031_regulator_init(void)