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; |
