Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 877fa971 authored by Sachin Kamat's avatar Sachin Kamat Committed by Mark Brown
Browse files

ASoC: wm8993: Use devm_regulator_bulk_get



devm_regulator_bulk_get() is device managed and makes error
handling and code cleanup simpler.

Signed-off-by: default avatarSachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 9489e9dc
Loading
Loading
Loading
Loading
+2 −5
Original line number Original line Diff line number Diff line
@@ -1672,7 +1672,7 @@ static __devinit int wm8993_i2c_probe(struct i2c_client *i2c,
	for (i = 0; i < ARRAY_SIZE(wm8993->supplies); i++)
	for (i = 0; i < ARRAY_SIZE(wm8993->supplies); i++)
		wm8993->supplies[i].supply = wm8993_supply_names[i];
		wm8993->supplies[i].supply = wm8993_supply_names[i];


	ret = regulator_bulk_get(&i2c->dev, ARRAY_SIZE(wm8993->supplies),
	ret = devm_regulator_bulk_get(&i2c->dev, ARRAY_SIZE(wm8993->supplies),
				 wm8993->supplies);
				 wm8993->supplies);
	if (ret != 0) {
	if (ret != 0) {
		dev_err(&i2c->dev, "Failed to request supplies: %d\n", ret);
		dev_err(&i2c->dev, "Failed to request supplies: %d\n", ret);
@@ -1683,7 +1683,7 @@ static __devinit int wm8993_i2c_probe(struct i2c_client *i2c,
				    wm8993->supplies);
				    wm8993->supplies);
	if (ret != 0) {
	if (ret != 0) {
		dev_err(&i2c->dev, "Failed to enable supplies: %d\n", ret);
		dev_err(&i2c->dev, "Failed to enable supplies: %d\n", ret);
		goto err_get;
		goto err;
	}
	}


	ret = regmap_read(wm8993->regmap, WM8993_SOFTWARE_RESET, &reg);
	ret = regmap_read(wm8993->regmap, WM8993_SOFTWARE_RESET, &reg);
@@ -1742,8 +1742,6 @@ static __devinit int wm8993_i2c_probe(struct i2c_client *i2c,
		free_irq(i2c->irq, wm8993);
		free_irq(i2c->irq, wm8993);
err_enable:
err_enable:
	regulator_bulk_disable(ARRAY_SIZE(wm8993->supplies), wm8993->supplies);
	regulator_bulk_disable(ARRAY_SIZE(wm8993->supplies), wm8993->supplies);
err_get:
	regulator_bulk_free(ARRAY_SIZE(wm8993->supplies), wm8993->supplies);
err:
err:
	regmap_exit(wm8993->regmap);
	regmap_exit(wm8993->regmap);
	return ret;
	return ret;
@@ -1758,7 +1756,6 @@ static __devexit int wm8993_i2c_remove(struct i2c_client *i2c)
		free_irq(i2c->irq, wm8993);
		free_irq(i2c->irq, wm8993);
	regmap_exit(wm8993->regmap);
	regmap_exit(wm8993->regmap);
	regulator_bulk_disable(ARRAY_SIZE(wm8993->supplies), wm8993->supplies);
	regulator_bulk_disable(ARRAY_SIZE(wm8993->supplies), wm8993->supplies);
	regulator_bulk_free(ARRAY_SIZE(wm8993->supplies), wm8993->supplies);


	return 0;
	return 0;
}
}