ASoC: wm8993: Use devm_regulator_bulk_get
authorSachin Kamat <sachin.kamat@linaro.org>
Mon, 26 Nov 2012 11:49:37 +0000 (17:19 +0530)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 28 Nov 2012 17:40:49 +0000 (17:40 +0000)
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>
sound/soc/codecs/wm8993.c

index 94737a30716b7acf9fd47382b09f461c6a5ffec0..c3d31073eeeb89d889363bcd002b1703c50e33fc 100644 (file)
@@ -1672,7 +1672,7 @@ static __devinit int wm8993_i2c_probe(struct i2c_client *i2c,
        for (i = 0; i < ARRAY_SIZE(wm8993->supplies); 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);
        if (ret != 0) {
                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);
        if (ret != 0) {
                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);
@@ -1742,8 +1742,6 @@ err_irq:
                free_irq(i2c->irq, wm8993);
 err_enable:
        regulator_bulk_disable(ARRAY_SIZE(wm8993->supplies), wm8993->supplies);
-err_get:
-       regulator_bulk_free(ARRAY_SIZE(wm8993->supplies), wm8993->supplies);
 err:
        regmap_exit(wm8993->regmap);
        return ret;
@@ -1758,7 +1756,6 @@ static __devexit int wm8993_i2c_remove(struct i2c_client *i2c)
                free_irq(i2c->irq, wm8993);
        regmap_exit(wm8993->regmap);
        regulator_bulk_disable(ARRAY_SIZE(wm8993->supplies), wm8993->supplies);
-       regulator_bulk_free(ARRAY_SIZE(wm8993->supplies), wm8993->supplies);
 
        return 0;
 }