ASoC: Convert WM8350 to devm_kzalloc()
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Sat, 3 Dec 2011 11:29:38 +0000 (11:29 +0000)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Sat, 3 Dec 2011 21:35:05 +0000 (21:35 +0000)
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/codecs/wm8350.c

index f39497fc13e09c14cc98c975d433cd7ae780d22d..7b095aeef695833cc02c14870fdcd98b36f93c5a 100644 (file)
@@ -1553,7 +1553,8 @@ static  int wm8350_codec_probe(struct snd_soc_codec *codec)
                return -EINVAL;
        }
 
-       priv = kzalloc(sizeof(struct wm8350_data), GFP_KERNEL);
+       priv = devm_kzalloc(codec->dev, sizeof(struct wm8350_data),
+                           GFP_KERNEL);
        if (priv == NULL)
                return -ENOMEM;
        snd_soc_codec_set_drvdata(codec, priv);
@@ -1564,7 +1565,7 @@ static  int wm8350_codec_probe(struct snd_soc_codec *codec)
        ret = regulator_bulk_get(wm8350->dev, ARRAY_SIZE(priv->supplies),
                                 priv->supplies);
        if (ret != 0)
-               goto err_priv;
+               return ret;
 
        wm8350->codec.codec = codec;
        codec->control_data = wm8350;
@@ -1640,10 +1641,6 @@ static  int wm8350_codec_probe(struct snd_soc_codec *codec)
        wm8350_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
 
        return 0;
-
-err_priv:
-       kfree(priv);
-       return ret;
 }
 
 static int  wm8350_codec_remove(struct snd_soc_codec *codec)
@@ -1676,7 +1673,7 @@ static int  wm8350_codec_remove(struct snd_soc_codec *codec)
        wm8350_clear_bits(wm8350, WM8350_POWER_MGMT_5, WM8350_CODEC_ENA);
 
        regulator_bulk_free(ARRAY_SIZE(priv->supplies), priv->supplies);
-       kfree(priv);
+
        return 0;
 }