Merge remote-tracking branches 'asoc/topic/ux500', 'asoc/topic/wm8731', 'asoc/topic...
[linux-2.6-microblaze.git] / sound / soc / codecs / wm8731.c
index 763b265..5ada616 100644 (file)
@@ -586,7 +586,7 @@ static int wm8731_probe(struct snd_soc_codec *codec)
        for (i = 0; i < ARRAY_SIZE(wm8731->supplies); i++)
                wm8731->supplies[i].supply = wm8731_supply_names[i];
 
-       ret = regulator_bulk_get(codec->dev, ARRAY_SIZE(wm8731->supplies),
+       ret = devm_regulator_bulk_get(codec->dev, ARRAY_SIZE(wm8731->supplies),
                                 wm8731->supplies);
        if (ret != 0) {
                dev_err(codec->dev, "Failed to request supplies: %d\n", ret);
@@ -597,7 +597,7 @@ static int wm8731_probe(struct snd_soc_codec *codec)
                                    wm8731->supplies);
        if (ret != 0) {
                dev_err(codec->dev, "Failed to enable supplies: %d\n", ret);
-               goto err_regulator_get;
+               return ret;
        }
 
        ret = wm8731_reset(codec);
@@ -624,8 +624,6 @@ static int wm8731_probe(struct snd_soc_codec *codec)
 
 err_regulator_enable:
        regulator_bulk_disable(ARRAY_SIZE(wm8731->supplies), wm8731->supplies);
-err_regulator_get:
-       regulator_bulk_free(ARRAY_SIZE(wm8731->supplies), wm8731->supplies);
 
        return ret;
 }
@@ -638,7 +636,6 @@ static int wm8731_remove(struct snd_soc_codec *codec)
        wm8731_set_bias_level(codec, SND_SOC_BIAS_OFF);
 
        regulator_bulk_disable(ARRAY_SIZE(wm8731->supplies), wm8731->supplies);
-       regulator_bulk_free(ARRAY_SIZE(wm8731->supplies), wm8731->supplies);
 
        return 0;
 }