ASoC: core: use snd_soc_register_dais() on codec
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Mon, 25 Feb 2013 08:40:40 +0000 (00:40 -0800)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Mon, 4 Mar 2013 03:07:43 +0000 (11:07 +0800)
snd_soc_register_dais() considers dai counts inside.
snd_soc_register_codec() does not need to care for it.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/soc-core.c

index a872be1ee44d569445a6d0da4c96d2312db2183c..e02c374d2243362f1710b8b109bae0a59965c298 100644 (file)
@@ -4086,11 +4086,10 @@ int snd_soc_register_codec(struct device *dev,
        mutex_unlock(&client_mutex);
 
        /* register any DAIs */
-       if (num_dai) {
-               ret = snd_soc_register_dais(dev, dai_drv, num_dai);
-               if (ret < 0)
-                       dev_err(codec->dev, "ASoC: Failed to regster"
-                               " DAIs: %d\n", ret);
+       ret = snd_soc_register_dais(dev, dai_drv, num_dai);
+       if (ret < 0) {
+               dev_err(codec->dev, "ASoC: Failed to regster DAIs: %d\n", ret);
+               goto fail_codec_name;
        }
 
        dev_dbg(codec->dev, "ASoC: Registered codec '%s'\n", codec->name);
@@ -4112,7 +4111,6 @@ EXPORT_SYMBOL_GPL(snd_soc_register_codec);
 void snd_soc_unregister_codec(struct device *dev)
 {
        struct snd_soc_codec *codec;
-       int i;
 
        list_for_each_entry(codec, &codec_list, list) {
                if (dev == codec->dev)
@@ -4121,9 +4119,7 @@ void snd_soc_unregister_codec(struct device *dev)
        return;
 
 found:
-       if (codec->num_dai)
-               for (i = 0; i < codec->num_dai; i++)
-                       snd_soc_unregister_dai(dev);
+       snd_soc_unregister_dais(dev, codec->num_dai);
 
        mutex_lock(&client_mutex);
        list_del(&codec->list);