diff options
author | Sachin Kamat <sachin.kamat@linaro.org> | 2012-11-26 06:49:35 -0500 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-11-28 12:39:13 -0500 |
commit | 92437cbb1bbcc4fd04a00d3d734ee7006e183a03 (patch) | |
tree | 2749ec61ae161db5884dd4607a8ae94cf79e6316 /sound/soc/codecs | |
parent | 9489e9dcae718d5fde988e4a684a0f55b5f94d17 (diff) |
ASoC: wm8962: Use devm_regulator_bulk_get
devm_regulator_bulk_get() is device managed and makes error
handling and code cleanup simpler.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs')
-rw-r--r-- | sound/soc/codecs/wm8962.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c index ce6720073798..285a9ef6d8ed 100644 --- a/sound/soc/codecs/wm8962.c +++ b/sound/soc/codecs/wm8962.c | |||
@@ -3610,7 +3610,7 @@ static __devinit int wm8962_i2c_probe(struct i2c_client *i2c, | |||
3610 | for (i = 0; i < ARRAY_SIZE(wm8962->supplies); i++) | 3610 | for (i = 0; i < ARRAY_SIZE(wm8962->supplies); i++) |
3611 | wm8962->supplies[i].supply = wm8962_supply_names[i]; | 3611 | wm8962->supplies[i].supply = wm8962_supply_names[i]; |
3612 | 3612 | ||
3613 | ret = regulator_bulk_get(&i2c->dev, ARRAY_SIZE(wm8962->supplies), | 3613 | ret = devm_regulator_bulk_get(&i2c->dev, ARRAY_SIZE(wm8962->supplies), |
3614 | wm8962->supplies); | 3614 | wm8962->supplies); |
3615 | if (ret != 0) { | 3615 | if (ret != 0) { |
3616 | dev_err(&i2c->dev, "Failed to request supplies: %d\n", ret); | 3616 | dev_err(&i2c->dev, "Failed to request supplies: %d\n", ret); |
@@ -3621,7 +3621,7 @@ static __devinit int wm8962_i2c_probe(struct i2c_client *i2c, | |||
3621 | wm8962->supplies); | 3621 | wm8962->supplies); |
3622 | if (ret != 0) { | 3622 | if (ret != 0) { |
3623 | dev_err(&i2c->dev, "Failed to enable supplies: %d\n", ret); | 3623 | dev_err(&i2c->dev, "Failed to enable supplies: %d\n", ret); |
3624 | goto err_get; | 3624 | return ret; |
3625 | } | 3625 | } |
3626 | 3626 | ||
3627 | wm8962->regmap = regmap_init_i2c(i2c, &wm8962_regmap); | 3627 | wm8962->regmap = regmap_init_i2c(i2c, &wm8962_regmap); |
@@ -3697,8 +3697,6 @@ err_regmap: | |||
3697 | regmap_exit(wm8962->regmap); | 3697 | regmap_exit(wm8962->regmap); |
3698 | err_enable: | 3698 | err_enable: |
3699 | regulator_bulk_disable(ARRAY_SIZE(wm8962->supplies), wm8962->supplies); | 3699 | regulator_bulk_disable(ARRAY_SIZE(wm8962->supplies), wm8962->supplies); |
3700 | err_get: | ||
3701 | regulator_bulk_free(ARRAY_SIZE(wm8962->supplies), wm8962->supplies); | ||
3702 | err: | 3700 | err: |
3703 | return ret; | 3701 | return ret; |
3704 | } | 3702 | } |
@@ -3709,7 +3707,6 @@ static __devexit int wm8962_i2c_remove(struct i2c_client *client) | |||
3709 | 3707 | ||
3710 | snd_soc_unregister_codec(&client->dev); | 3708 | snd_soc_unregister_codec(&client->dev); |
3711 | regmap_exit(wm8962->regmap); | 3709 | regmap_exit(wm8962->regmap); |
3712 | regulator_bulk_free(ARRAY_SIZE(wm8962->supplies), wm8962->supplies); | ||
3713 | return 0; | 3710 | return 0; |
3714 | } | 3711 | } |
3715 | 3712 | ||