Merge remote-tracking branch 'asoc/topic/core' into asoc-next
[linux-2.6-block.git] / sound / soc / soc-pcm.c
index 6e3781e88f9adf52a35d79a45a785badd5d17709..35fe58f4fa86240b176db74c1789065c62bd17a7 100644 (file)
@@ -1097,8 +1097,9 @@ static int dpcm_be_connect(struct snd_soc_pcm_runtime *fe,
                        stream ? "<-" : "->", be->dai_link->name);
 
 #ifdef CONFIG_DEBUG_FS
-       dpcm->debugfs_state = debugfs_create_u32(be->dai_link->name, 0644,
-                       fe->debugfs_dpcm_root, &dpcm->state);
+       if (fe->debugfs_dpcm_root)
+               dpcm->debugfs_state = debugfs_create_u32(be->dai_link->name, 0644,
+                               fe->debugfs_dpcm_root, &dpcm->state);
 #endif
        return 1;
 }
@@ -2803,10 +2804,13 @@ static const struct file_operations dpcm_state_fops = {
        .llseek = default_llseek,
 };
 
-int soc_dpcm_debugfs_add(struct snd_soc_pcm_runtime *rtd)
+void soc_dpcm_debugfs_add(struct snd_soc_pcm_runtime *rtd)
 {
        if (!rtd->dai_link)
-               return 0;
+               return;
+
+       if (!rtd->card->debugfs_card_root)
+               return;
 
        rtd->debugfs_dpcm_root = debugfs_create_dir(rtd->dai_link->name,
                        rtd->card->debugfs_card_root);
@@ -2814,13 +2818,11 @@ int soc_dpcm_debugfs_add(struct snd_soc_pcm_runtime *rtd)
                dev_dbg(rtd->dev,
                         "ASoC: Failed to create dpcm debugfs directory %s\n",
                         rtd->dai_link->name);
-               return -EINVAL;
+               return;
        }
 
        rtd->debugfs_dpcm_state = debugfs_create_file("state", 0444,
                                                rtd->debugfs_dpcm_root,
                                                rtd, &dpcm_state_fops);
-
-       return 0;
 }
 #endif