ASoC: wl1273: Use table based control setup
authorLars-Peter Clausen <lars@metafoo.de>
Wed, 5 Nov 2014 09:46:33 +0000 (10:46 +0100)
committerMark Brown <broonie@kernel.org>
Wed, 5 Nov 2014 14:48:40 +0000 (14:48 +0000)
Makes the code a bit shorter and cleaner.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/wl1273.c

index f3d4e88d0b7b3b1fc3f3224c7e50f97edb580ade..00aea4100bb3e46391249b78fe0f592d133a3022 100644 (file)
@@ -452,7 +452,6 @@ static int wl1273_probe(struct snd_soc_codec *codec)
 {
        struct wl1273_core **core = codec->dev->platform_data;
        struct wl1273_priv *wl1273;
-       int r;
 
        dev_dbg(codec->dev, "%s.\n", __func__);
 
@@ -470,12 +469,7 @@ static int wl1273_probe(struct snd_soc_codec *codec)
 
        snd_soc_codec_set_drvdata(codec, wl1273);
 
-       r = snd_soc_add_codec_controls(codec, wl1273_controls,
-                                ARRAY_SIZE(wl1273_controls));
-       if (r)
-               kfree(wl1273);
-
-       return r;
+       return 0;
 }
 
 static int wl1273_remove(struct snd_soc_codec *codec)
@@ -492,6 +486,8 @@ static struct snd_soc_codec_driver soc_codec_dev_wl1273 = {
        .probe = wl1273_probe,
        .remove = wl1273_remove,
 
+       .controls = wl1273_controls,
+       .num_controls = ARRAY_SIZE(wl1273_controls),
        .dapm_widgets = wl1273_dapm_widgets,
        .num_dapm_widgets = ARRAY_SIZE(wl1273_dapm_widgets),
        .dapm_routes = wl1273_dapm_routes,