diff options
author | Fabio Estevam <fabio.estevam@freescale.com> | 2014-04-24 13:13:08 -0400 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2014-04-24 13:32:40 -0400 |
commit | 63e54cd9caa3ce03635810608519e2b37d8bc706 (patch) | |
tree | fab4af15d3dcb39c553659f56dd829a7e8e9d479 | |
parent | c9eaa447e77efe77b7fa4c953bd62de8297fd6c5 (diff) |
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>
-rw-r--r-- | sound/soc/codecs/sgtl5000.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/sound/soc/codecs/sgtl5000.c b/sound/soc/codecs/sgtl5000.c index d3ed1be5a186..75f820c58833 100644 --- a/sound/soc/codecs/sgtl5000.c +++ b/sound/soc/codecs/sgtl5000.c | |||
@@ -1322,7 +1322,7 @@ static int sgtl5000_enable_regulators(struct snd_soc_codec *codec) | |||
1322 | return ret; | 1322 | return ret; |
1323 | } | 1323 | } |
1324 | 1324 | ||
1325 | ret = regulator_bulk_get(codec->dev, ARRAY_SIZE(sgtl5000->supplies), | 1325 | ret = devm_regulator_bulk_get(codec->dev, ARRAY_SIZE(sgtl5000->supplies), |
1326 | sgtl5000->supplies); | 1326 | sgtl5000->supplies); |
1327 | if (ret) | 1327 | if (ret) |
1328 | goto err_ldo_remove; | 1328 | goto err_ldo_remove; |
@@ -1330,16 +1330,13 @@ static int sgtl5000_enable_regulators(struct snd_soc_codec *codec) | |||
1330 | ret = regulator_bulk_enable(ARRAY_SIZE(sgtl5000->supplies), | 1330 | ret = regulator_bulk_enable(ARRAY_SIZE(sgtl5000->supplies), |
1331 | sgtl5000->supplies); | 1331 | sgtl5000->supplies); |
1332 | if (ret) | 1332 | if (ret) |
1333 | goto err_regulator_free; | 1333 | goto err_ldo_remove; |
1334 | 1334 | ||
1335 | /* wait for all power rails bring up */ | 1335 | /* wait for all power rails bring up */ |
1336 | udelay(10); | 1336 | udelay(10); |
1337 | 1337 | ||
1338 | return 0; | 1338 | return 0; |
1339 | 1339 | ||
1340 | err_regulator_free: | ||
1341 | regulator_bulk_free(ARRAY_SIZE(sgtl5000->supplies), | ||
1342 | sgtl5000->supplies); | ||
1343 | err_ldo_remove: | 1340 | err_ldo_remove: |
1344 | if (!external_vddd) | 1341 | if (!external_vddd) |
1345 | ldo_regulator_remove(codec); | 1342 | ldo_regulator_remove(codec); |
@@ -1409,8 +1406,6 @@ static int sgtl5000_probe(struct snd_soc_codec *codec) | |||
1409 | err: | 1406 | err: |
1410 | regulator_bulk_disable(ARRAY_SIZE(sgtl5000->supplies), | 1407 | regulator_bulk_disable(ARRAY_SIZE(sgtl5000->supplies), |
1411 | sgtl5000->supplies); | 1408 | sgtl5000->supplies); |
1412 | regulator_bulk_free(ARRAY_SIZE(sgtl5000->supplies), | ||
1413 | sgtl5000->supplies); | ||
1414 | ldo_regulator_remove(codec); | 1409 | ldo_regulator_remove(codec); |
1415 | 1410 | ||
1416 | return ret; | 1411 | return ret; |
@@ -1424,8 +1419,6 @@ static int sgtl5000_remove(struct snd_soc_codec *codec) | |||
1424 | 1419 | ||
1425 | regulator_bulk_disable(ARRAY_SIZE(sgtl5000->supplies), | 1420 | regulator_bulk_disable(ARRAY_SIZE(sgtl5000->supplies), |
1426 | sgtl5000->supplies); | 1421 | sgtl5000->supplies); |
1427 | regulator_bulk_free(ARRAY_SIZE(sgtl5000->supplies), | ||
1428 | sgtl5000->supplies); | ||
1429 | ldo_regulator_remove(codec); | 1422 | ldo_regulator_remove(codec); |
1430 | 1423 | ||
1431 | return 0; | 1424 | return 0; |