ASoC: Set up debugfs only once per CODEC
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 12 Aug 2010 14:44:04 +0000 (15:44 +0100)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Sun, 15 Aug 2010 13:50:16 +0000 (14:50 +0100)
Since the debugfs directory is current per CODEC we should only init
it when the CODEC is initialised, otherwise we end up with errors
being generated when an attempt is made to add duplicate debugfs
entries.

Since most of this stuff is actually for the card we should refactor
but this can come later.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
sound/soc/soc-core.c

index a004876a39a95ad06cbb831f03d32d36364831b7..ac0fa228c7b33c9ec8f43f0f7da8a1cdeba7e6f6 100644 (file)
@@ -1323,6 +1323,9 @@ static int soc_probe_dai_link(struct snd_soc_card *card, int num)
                                return ret;
                        }
                }
+
+               soc_init_codec_debugfs(codec);
+
                /* mark codec as probed and add to card codec list */
                codec->probed = 1;
                list_add(&codec->card_list, &card->codec_dev_list);
@@ -1400,8 +1403,6 @@ static int soc_probe_dai_link(struct snd_soc_card *card, int num)
        if (ret < 0)
                printk(KERN_WARNING "asoc: failed to add codec sysfs files\n");
 
-       soc_init_codec_debugfs(codec);
-
        /* create the pcm */
        ret = soc_new_pcm(rtd, num);
        if (ret < 0) {