Merge tag 'driver-core-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...
[firefly-linux-kernel-4.4.55.git] / sound / soc / codecs / wl1273.c
index f3d4e88d0b7b3b1fc3f3224c7e50f97edb580ade..80fb1dc81f6cfb89544da1ee393ce1fb3794f253 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,
@@ -515,7 +511,6 @@ MODULE_ALIAS("platform:wl1273-codec");
 static struct platform_driver wl1273_platform_driver = {
        .driver         = {
                .name   = "wl1273-codec",
-               .owner  = THIS_MODULE,
        },
        .probe          = wl1273_platform_probe,
        .remove         = wl1273_platform_remove,