regulator: max8907-regulator: Use devm_regulator_register
authorSachin Kamat <sachin.kamat@linaro.org>
Wed, 4 Sep 2013 05:37:59 +0000 (11:07 +0530)
committerMark Brown <broonie@linaro.org>
Mon, 16 Sep 2013 23:28:41 +0000 (00:28 +0100)
devm_* simplifies the code.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/regulator/max8907-regulator.c

index 4568c15..0c5fe6c 100644 (file)
@@ -350,33 +350,17 @@ static int max8907_regulator_probe(struct platform_device *pdev)
                                pmic->desc[i].ops = &max8907_out5v_hwctl_ops;
                }
 
-               pmic->rdev[i] = regulator_register(&pmic->desc[i], &config);
+               pmic->rdev[i] = devm_regulator_register(&pdev->dev,
+                                               &pmic->desc[i], &config);
                if (IS_ERR(pmic->rdev[i])) {
                        dev_err(&pdev->dev,
                                "failed to register %s regulator\n",
                                pmic->desc[i].name);
-                       ret = PTR_ERR(pmic->rdev[i]);
-                       goto err_unregister_regulator;
+                       return PTR_ERR(pmic->rdev[i]);
                }
        }
 
        return 0;
-
-err_unregister_regulator:
-       while (--i >= 0)
-               regulator_unregister(pmic->rdev[i]);
-       return ret;
-}
-
-static int max8907_regulator_remove(struct platform_device *pdev)
-{
-       struct max8907_regulator *pmic = platform_get_drvdata(pdev);
-       int i;
-
-       for (i = 0; i < MAX8907_NUM_REGULATORS; i++)
-               regulator_unregister(pmic->rdev[i]);
-
-       return 0;
 }
 
 static struct platform_driver max8907_regulator_driver = {
@@ -385,7 +369,6 @@ static struct platform_driver max8907_regulator_driver = {
                   .owner = THIS_MODULE,
                   },
        .probe = max8907_regulator_probe,
-       .remove = max8907_regulator_remove,
 };
 
 static int __init max8907_regulator_init(void)