Re: [PATCH 5/7] regulator: palmas: Use devm_regulator_register

From: Marek Vasut
Date: Wed Sep 04 2013 - 10:32:20 EST


Dear Sachin Kamat,

> devm_* simplifies the code.
>
> Signed-off-by: Sachin Kamat <sachin.kamat@xxxxxxxxxx>
> ---
> drivers/regulator/palmas-regulator.c | 38
> ++++++++++------------------------ 1 file changed, 11 insertions(+), 27
> deletions(-)
>
> diff --git a/drivers/regulator/palmas-regulator.c
> b/drivers/regulator/palmas-regulator.c index d0c8785..37b1068 100644
> --- a/drivers/regulator/palmas-regulator.c
> +++ b/drivers/regulator/palmas-regulator.c
> @@ -852,7 +852,7 @@ static int palmas_regulators_probe(struct
> platform_device *pdev) if (ret < 0) {
> dev_err(&pdev->dev,
> "reading TSTEP reg failed: %d\n", ret);
> - goto err_unregister_regulator;
> + return ret;
> }
> pmic->desc[id].ramp_delay =
> palmas_smps_ramp_delay[reg & 0x3];
> @@ -864,7 +864,7 @@ static int palmas_regulators_probe(struct
> platform_device *pdev) reg_init = pdata->reg_init[id];
> ret = palmas_smps_init(palmas, id, reg_init);
> if (ret)
> - goto err_unregister_regulator;
> + return ret;
> }
>
> /* Register the regulators */
> @@ -897,7 +897,7 @@ static int palmas_regulators_probe(struct
> platform_device *pdev)
>
> ret = palmas_smps_read(pmic->palmas, addr, &reg);
> if (ret)
> - goto err_unregister_regulator;
> + return ret;
> if (reg & PALMAS_SMPS12_VOLTAGE_RANGE)
> pmic->range[id] = 1;
>
> @@ -913,7 +913,7 @@ static int palmas_regulators_probe(struct
> platform_device *pdev) addr = palmas_regs_info[id].ctrl_addr;
> ret = palmas_smps_read(pmic->palmas, addr, &reg);
> if (ret)
> - goto err_unregister_regulator;
> + return ret;
> pmic->current_reg_mode[id] = reg &
> PALMAS_SMPS12_CTRL_MODE_ACTIVE_MASK;
> }
> @@ -929,13 +929,13 @@ static int palmas_regulators_probe(struct
> platform_device *pdev) pmic->desc[id].supply_name =
> palmas_regs_info[id].sname;
> 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)) {
> dev_err(&pdev->dev,
> "failed to register %s regulator\n",
> pdev->name);
> - ret = PTR_ERR(rdev);
> - goto err_unregister_regulator;
> + return PTR_ERR(rdev);
> }
>
> /* Save regulator for cleanup */
> @@ -997,13 +997,13 @@ static int palmas_regulators_probe(struct
> platform_device *pdev) pmic->desc[id].supply_name =
> palmas_regs_info[id].sname;
> 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)) {
> dev_err(&pdev->dev,
> "failed to register %s regulator\n",
> pdev->name);
> - ret = PTR_ERR(rdev);
> - goto err_unregister_regulator;
> + return PTR_ERR(rdev);
> }
>
> /* Save regulator for cleanup */
> @@ -1021,7 +1021,7 @@ static int palmas_regulators_probe(struct
> platform_device *pdev) id, reg_init);
> if (ret) {
> regulator_unregister(pmic->rdev[id]);
> - goto err_unregister_regulator;
> + return ret;
> }

what about this regulator_unregister() above here?

[...]
Best regards,
Marek Vasut
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/