1
0
Fork 0

regulator: tps65090: Use devm_regulator_register

devm_* simplifies the code.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
hifive-unleashed-5.1
Sachin Kamat 2013-09-04 17:17:48 +05:30 committed by Mark Brown
parent 71b710e705
commit 9738efae69
1 changed files with 5 additions and 30 deletions

View File

@ -279,7 +279,7 @@ static int tps65090_regulator_probe(struct platform_device *pdev)
if (ret < 0) {
dev_err(&pdev->dev,
"failed disable ext control\n");
goto scrub;
return ret;
}
}
}
@ -296,12 +296,11 @@ static int tps65090_regulator_probe(struct platform_device *pdev)
else
config.of_node = NULL;
rdev = regulator_register(ri->desc, &config);
rdev = devm_regulator_register(&pdev->dev, ri->desc, &config);
if (IS_ERR(rdev)) {
dev_err(&pdev->dev, "failed to register regulator %s\n",
ri->desc->name);
ret = PTR_ERR(rdev);
goto scrub;
return PTR_ERR(rdev);
}
ri->rdev = rdev;
@ -309,36 +308,13 @@ static int tps65090_regulator_probe(struct platform_device *pdev)
if (tps_pdata && is_dcdc(num) && tps_pdata->reg_init_data &&
tps_pdata->enable_ext_control) {
ret = tps65090_config_ext_control(ri, true);
if (ret < 0) {
/* Increment num to get unregister rdev */
num++;
goto scrub;
}
if (ret < 0)
return ret;
}
}
platform_set_drvdata(pdev, pmic);
return 0;
scrub:
while (--num >= 0) {
ri = &pmic[num];
regulator_unregister(ri->rdev);
}
return ret;
}
static int tps65090_regulator_remove(struct platform_device *pdev)
{
struct tps65090_regulator *pmic = platform_get_drvdata(pdev);
struct tps65090_regulator *ri;
int num;
for (num = 0; num < TPS65090_REGULATOR_MAX; ++num) {
ri = &pmic[num];
regulator_unregister(ri->rdev);
}
return 0;
}
static struct platform_driver tps65090_regulator_driver = {
@ -347,7 +323,6 @@ static struct platform_driver tps65090_regulator_driver = {
.owner = THIS_MODULE,
},
.probe = tps65090_regulator_probe,
.remove = tps65090_regulator_remove,
};
static int __init tps65090_regulator_init(void)