Commit 54129d64 authored by Axel Lin's avatar Axel Lin Committed by Mark Brown

regulator: da9062: Check return value of devm_regmap_field_alloc calls

Since devm_regmap_field_alloc can fail, add error checking for it.
Signed-off-by: default avatarAxel Lin <axel.lin@ingics.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 252d1c20
...@@ -1029,31 +1029,50 @@ static int da9062_regulator_probe(struct platform_device *pdev) ...@@ -1029,31 +1029,50 @@ static int da9062_regulator_probe(struct platform_device *pdev)
regl->desc.type = REGULATOR_VOLTAGE; regl->desc.type = REGULATOR_VOLTAGE;
regl->desc.owner = THIS_MODULE; regl->desc.owner = THIS_MODULE;
if (regl->info->mode.reg) if (regl->info->mode.reg) {
regl->mode = devm_regmap_field_alloc( regl->mode = devm_regmap_field_alloc(
&pdev->dev, &pdev->dev,
chip->regmap, chip->regmap,
regl->info->mode); regl->info->mode);
if (regl->info->suspend.reg) if (IS_ERR(regl->mode))
return PTR_ERR(regl->mode);
}
if (regl->info->suspend.reg) {
regl->suspend = devm_regmap_field_alloc( regl->suspend = devm_regmap_field_alloc(
&pdev->dev, &pdev->dev,
chip->regmap, chip->regmap,
regl->info->suspend); regl->info->suspend);
if (regl->info->sleep.reg) if (IS_ERR(regl->suspend))
return PTR_ERR(regl->suspend);
}
if (regl->info->sleep.reg) {
regl->sleep = devm_regmap_field_alloc( regl->sleep = devm_regmap_field_alloc(
&pdev->dev, &pdev->dev,
chip->regmap, chip->regmap,
regl->info->sleep); regl->info->sleep);
if (regl->info->suspend_sleep.reg) if (IS_ERR(regl->sleep))
return PTR_ERR(regl->sleep);
}
if (regl->info->suspend_sleep.reg) {
regl->suspend_sleep = devm_regmap_field_alloc( regl->suspend_sleep = devm_regmap_field_alloc(
&pdev->dev, &pdev->dev,
chip->regmap, chip->regmap,
regl->info->suspend_sleep); regl->info->suspend_sleep);
if (regl->info->ilimit.reg) if (IS_ERR(regl->suspend_sleep))
return PTR_ERR(regl->suspend_sleep);
}
if (regl->info->ilimit.reg) {
regl->ilimit = devm_regmap_field_alloc( regl->ilimit = devm_regmap_field_alloc(
&pdev->dev, &pdev->dev,
chip->regmap, chip->regmap,
regl->info->ilimit); regl->info->ilimit);
if (IS_ERR(regl->ilimit))
return PTR_ERR(regl->ilimit);
}
/* Register regulator */ /* Register regulator */
memset(&config, 0, sizeof(config)); memset(&config, 0, sizeof(config));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment