regulator: palmas: 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>
This commit is contained in:
@ -862,7 +862,7 @@ static int palmas_regulators_probe(struct platform_device *pdev)
|
|||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
dev_err(&pdev->dev,
|
dev_err(&pdev->dev,
|
||||||
"reading TSTEP reg failed: %d\n", ret);
|
"reading TSTEP reg failed: %d\n", ret);
|
||||||
goto err_unregister_regulator;
|
return ret;
|
||||||
}
|
}
|
||||||
pmic->desc[id].ramp_delay =
|
pmic->desc[id].ramp_delay =
|
||||||
palmas_smps_ramp_delay[reg & 0x3];
|
palmas_smps_ramp_delay[reg & 0x3];
|
||||||
@ -874,7 +874,7 @@ static int palmas_regulators_probe(struct platform_device *pdev)
|
|||||||
reg_init = pdata->reg_init[id];
|
reg_init = pdata->reg_init[id];
|
||||||
ret = palmas_smps_init(palmas, id, reg_init);
|
ret = palmas_smps_init(palmas, id, reg_init);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_unregister_regulator;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Register the regulators */
|
/* Register the regulators */
|
||||||
@ -915,7 +915,7 @@ static int palmas_regulators_probe(struct platform_device *pdev)
|
|||||||
|
|
||||||
ret = palmas_smps_read(pmic->palmas, addr, ®);
|
ret = palmas_smps_read(pmic->palmas, addr, ®);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_unregister_regulator;
|
return ret;
|
||||||
if (reg & PALMAS_SMPS12_VOLTAGE_RANGE)
|
if (reg & PALMAS_SMPS12_VOLTAGE_RANGE)
|
||||||
pmic->range[id] = 1;
|
pmic->range[id] = 1;
|
||||||
|
|
||||||
@ -931,7 +931,7 @@ static int palmas_regulators_probe(struct platform_device *pdev)
|
|||||||
addr = palmas_regs_info[id].ctrl_addr;
|
addr = palmas_regs_info[id].ctrl_addr;
|
||||||
ret = palmas_smps_read(pmic->palmas, addr, ®);
|
ret = palmas_smps_read(pmic->palmas, addr, ®);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_unregister_regulator;
|
return ret;
|
||||||
pmic->current_reg_mode[id] = reg &
|
pmic->current_reg_mode[id] = reg &
|
||||||
PALMAS_SMPS12_CTRL_MODE_ACTIVE_MASK;
|
PALMAS_SMPS12_CTRL_MODE_ACTIVE_MASK;
|
||||||
}
|
}
|
||||||
@ -947,13 +947,13 @@ static int palmas_regulators_probe(struct platform_device *pdev)
|
|||||||
pmic->desc[id].supply_name = palmas_regs_info[id].sname;
|
pmic->desc[id].supply_name = palmas_regs_info[id].sname;
|
||||||
config.of_node = palmas_matches[id].of_node;
|
config.of_node = palmas_matches[id].of_node;
|
||||||
|
|
||||||
rdev = regulator_register(&pmic->desc[id], &config);
|
rdev = devm_regulator_register(&pdev->dev, &pmic->desc[id],
|
||||||
|
&config);
|
||||||
if (IS_ERR(rdev)) {
|
if (IS_ERR(rdev)) {
|
||||||
dev_err(&pdev->dev,
|
dev_err(&pdev->dev,
|
||||||
"failed to register %s regulator\n",
|
"failed to register %s regulator\n",
|
||||||
pdev->name);
|
pdev->name);
|
||||||
ret = PTR_ERR(rdev);
|
return PTR_ERR(rdev);
|
||||||
goto err_unregister_regulator;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Save regulator for cleanup */
|
/* Save regulator for cleanup */
|
||||||
@ -1015,13 +1015,13 @@ static int palmas_regulators_probe(struct platform_device *pdev)
|
|||||||
pmic->desc[id].supply_name = palmas_regs_info[id].sname;
|
pmic->desc[id].supply_name = palmas_regs_info[id].sname;
|
||||||
config.of_node = palmas_matches[id].of_node;
|
config.of_node = palmas_matches[id].of_node;
|
||||||
|
|
||||||
rdev = regulator_register(&pmic->desc[id], &config);
|
rdev = devm_regulator_register(&pdev->dev, &pmic->desc[id],
|
||||||
|
&config);
|
||||||
if (IS_ERR(rdev)) {
|
if (IS_ERR(rdev)) {
|
||||||
dev_err(&pdev->dev,
|
dev_err(&pdev->dev,
|
||||||
"failed to register %s regulator\n",
|
"failed to register %s regulator\n",
|
||||||
pdev->name);
|
pdev->name);
|
||||||
ret = PTR_ERR(rdev);
|
return PTR_ERR(rdev);
|
||||||
goto err_unregister_regulator;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Save regulator for cleanup */
|
/* Save regulator for cleanup */
|
||||||
@ -1039,7 +1039,7 @@ static int palmas_regulators_probe(struct platform_device *pdev)
|
|||||||
id, reg_init);
|
id, reg_init);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
regulator_unregister(pmic->rdev[id]);
|
regulator_unregister(pmic->rdev[id]);
|
||||||
goto err_unregister_regulator;
|
return ret;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1047,21 +1047,6 @@ static int palmas_regulators_probe(struct platform_device *pdev)
|
|||||||
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
err_unregister_regulator:
|
|
||||||
while (--id >= 0)
|
|
||||||
regulator_unregister(pmic->rdev[id]);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int palmas_regulators_remove(struct platform_device *pdev)
|
|
||||||
{
|
|
||||||
struct palmas_pmic *pmic = platform_get_drvdata(pdev);
|
|
||||||
int id;
|
|
||||||
|
|
||||||
for (id = 0; id < PALMAS_NUM_REGS; id++)
|
|
||||||
regulator_unregister(pmic->rdev[id]);
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct of_device_id of_palmas_match_tbl[] = {
|
static struct of_device_id of_palmas_match_tbl[] = {
|
||||||
@ -1083,7 +1068,6 @@ static struct platform_driver palmas_driver = {
|
|||||||
.owner = THIS_MODULE,
|
.owner = THIS_MODULE,
|
||||||
},
|
},
|
||||||
.probe = palmas_regulators_probe,
|
.probe = palmas_regulators_probe,
|
||||||
.remove = palmas_regulators_remove,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static int __init palmas_init(void)
|
static int __init palmas_init(void)
|
||||||
|
Reference in New Issue
Block a user