ASoC: sgtl5000: Use devm_regulator_bulk_get()
Using devm_regulator_bulk_get() can make the code cleaner and smaller as we do not need to call regulator_bulk_free() in the error and remove paths. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
Родитель
c9eaa447e7
Коммит
63e54cd9ca
|
@ -1322,7 +1322,7 @@ static int sgtl5000_enable_regulators(struct snd_soc_codec *codec)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = regulator_bulk_get(codec->dev, ARRAY_SIZE(sgtl5000->supplies),
|
ret = devm_regulator_bulk_get(codec->dev, ARRAY_SIZE(sgtl5000->supplies),
|
||||||
sgtl5000->supplies);
|
sgtl5000->supplies);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_ldo_remove;
|
goto err_ldo_remove;
|
||||||
|
@ -1330,16 +1330,13 @@ static int sgtl5000_enable_regulators(struct snd_soc_codec *codec)
|
||||||
ret = regulator_bulk_enable(ARRAY_SIZE(sgtl5000->supplies),
|
ret = regulator_bulk_enable(ARRAY_SIZE(sgtl5000->supplies),
|
||||||
sgtl5000->supplies);
|
sgtl5000->supplies);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_regulator_free;
|
goto err_ldo_remove;
|
||||||
|
|
||||||
/* wait for all power rails bring up */
|
/* wait for all power rails bring up */
|
||||||
udelay(10);
|
udelay(10);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
err_regulator_free:
|
|
||||||
regulator_bulk_free(ARRAY_SIZE(sgtl5000->supplies),
|
|
||||||
sgtl5000->supplies);
|
|
||||||
err_ldo_remove:
|
err_ldo_remove:
|
||||||
if (!external_vddd)
|
if (!external_vddd)
|
||||||
ldo_regulator_remove(codec);
|
ldo_regulator_remove(codec);
|
||||||
|
@ -1409,8 +1406,6 @@ static int sgtl5000_probe(struct snd_soc_codec *codec)
|
||||||
err:
|
err:
|
||||||
regulator_bulk_disable(ARRAY_SIZE(sgtl5000->supplies),
|
regulator_bulk_disable(ARRAY_SIZE(sgtl5000->supplies),
|
||||||
sgtl5000->supplies);
|
sgtl5000->supplies);
|
||||||
regulator_bulk_free(ARRAY_SIZE(sgtl5000->supplies),
|
|
||||||
sgtl5000->supplies);
|
|
||||||
ldo_regulator_remove(codec);
|
ldo_regulator_remove(codec);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -1424,8 +1419,6 @@ static int sgtl5000_remove(struct snd_soc_codec *codec)
|
||||||
|
|
||||||
regulator_bulk_disable(ARRAY_SIZE(sgtl5000->supplies),
|
regulator_bulk_disable(ARRAY_SIZE(sgtl5000->supplies),
|
||||||
sgtl5000->supplies);
|
sgtl5000->supplies);
|
||||||
regulator_bulk_free(ARRAY_SIZE(sgtl5000->supplies),
|
|
||||||
sgtl5000->supplies);
|
|
||||||
ldo_regulator_remove(codec);
|
ldo_regulator_remove(codec);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче