]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - sound/soc/soc-core.c
ASoC: soc-core: initialize debugfs in snd_soc_instantiate_card()
[karo-tx-linux.git] / sound / soc / soc-core.c
index 30579ca5bacb985c7dfa9b9ad30f58cee45d6e1a..4443581d69f2859e9fec6c322f8212027fd9295f 100644 (file)
@@ -1410,7 +1410,6 @@ static void soc_remove_aux_dev(struct snd_soc_card *card, int num)
 
        /* unregister the rtd device */
        if (rtd->dev_registered) {
-               device_remove_file(rtd->dev, &dev_attr_codec_reg);
                device_unregister(rtd->dev);
                rtd->dev_registered = 0;
        }
@@ -1663,6 +1662,8 @@ static int snd_soc_instantiate_card(struct snd_soc_card *card)
        snd_soc_dapm_sync(&card->dapm);
        mutex_unlock(&card->mutex);
 
+       soc_init_card_debugfs(card);
+
        return 0;
 
 probe_aux_dev_err:
@@ -2353,8 +2354,6 @@ int snd_soc_register_card(struct snd_soc_card *card)
 
        snd_soc_initialize_card_lists(card);
 
-       soc_init_card_debugfs(card);
-
        card->rtd = devm_kzalloc(card->dev,
                                 sizeof(struct snd_soc_pcm_runtime) *
                                 (card->num_links + card->num_aux_devs),
@@ -2385,7 +2384,7 @@ int snd_soc_register_card(struct snd_soc_card *card)
 
        ret = snd_soc_instantiate_card(card);
        if (ret != 0)
-               soc_cleanup_card_debugfs(card);
+               return ret;
 
        /* deactivate pins to sleep state */
        for (i = 0; i < card->num_rtd; i++) {