mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-28 22:54:05 +08:00
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: Axel Lin <axel.lin@ingics.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
252d1c2055
commit
54129d641c
@ -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));
|
||||||
|
Loading…
Reference in New Issue
Block a user