]> git.karo-electronics.de Git - linux-beck.git/commitdiff
ASoC: wm5100: Convert to devm_regulator_bulk_get()
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Mon, 23 Jan 2012 15:00:17 +0000 (15:00 +0000)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 26 Jan 2012 18:37:08 +0000 (18:37 +0000)
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/codecs/wm5100.c

index c1c8bdb7bb017770e105dc2930c8c12c941a09a7..39de946bf259cc46bb2611bf059d7d8a66bd7427 100644 (file)
@@ -2504,8 +2504,9 @@ static __devinit int wm5100_i2c_probe(struct i2c_client *i2c,
        for (i = 0; i < ARRAY_SIZE(wm5100->core_supplies); i++)
                wm5100->core_supplies[i].supply = wm5100_core_supply_names[i];
 
-       ret = regulator_bulk_get(&i2c->dev, ARRAY_SIZE(wm5100->core_supplies),
-                                wm5100->core_supplies);
+       ret = devm_regulator_bulk_get(&i2c->dev,
+                                     ARRAY_SIZE(wm5100->core_supplies),
+                                     wm5100->core_supplies);
        if (ret != 0) {
                dev_err(&i2c->dev, "Failed to request core supplies: %d\n",
                        ret);
@@ -2517,7 +2518,7 @@ static __devinit int wm5100_i2c_probe(struct i2c_client *i2c,
        if (ret != 0) {
                dev_err(&i2c->dev, "Failed to enable core supplies: %d\n",
                        ret);
-               goto err_core;
+               goto err_regmap;
        }
 
        if (wm5100->pdata.ldo_ena) {
@@ -2686,9 +2687,6 @@ err_ldo:
 err_enable:
        regulator_bulk_disable(ARRAY_SIZE(wm5100->core_supplies),
                               wm5100->core_supplies);
-err_core:
-       regulator_bulk_free(ARRAY_SIZE(wm5100->core_supplies),
-                           wm5100->core_supplies);
 err_regmap:
        regmap_exit(wm5100->regmap);
 err:
@@ -2711,8 +2709,6 @@ static __devexit int wm5100_i2c_remove(struct i2c_client *i2c)
                gpio_set_value_cansleep(wm5100->pdata.ldo_ena, 0);
                gpio_free(wm5100->pdata.ldo_ena);
        }
-       regulator_bulk_free(ARRAY_SIZE(wm5100->core_supplies),
-                           wm5100->core_supplies);
        regmap_exit(wm5100->regmap);
 
        return 0;