From: Kuninori Morimoto Date: Tue, 24 Mar 2015 09:01:00 +0000 (+0000) Subject: ASoC: soc-core: initialize debugfs in snd_soc_instantiate_card() X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=4e2576bd36a1;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git ASoC: soc-core: initialize debugfs in snd_soc_instantiate_card() Current soc_init_card_debugfs() is called from snd_soc_register_card() but, soc_cleanup_card_debugfs() is called from soc_cleanup_card_resources(), not from paired function. This differences don't matter for now. But if anyone wants to implement a proper hotplug/unplug, this difference would become clearer. Now, we can assume that snd_soc_instantiate_card() and soc_cleanup_card_resources() are paired function. soc_init_card_debugfs() / soc_cleanup_card_debugfs() paired function should be called from these. Signed-off-by: Kuninori Morimoto Signed-off-by: Mark Brown --- diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index acf99f1250e5..4443581d69f2 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -1662,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: @@ -2352,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), @@ -2384,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++) {