summaryrefslogtreecommitdiff
path: root/sound/soc/soc-core.c
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2019-12-10 09:34:08 +0900
committerMark Brown <broonie@kernel.org>2019-12-10 13:15:21 +0000
commit4468189ff307f294491628a49702a04de22bffb8 (patch)
treee02d43aa454324ac5f043d5f4f2e037fb220bbfc /sound/soc/soc-core.c
parent94def8ea66be2ea9f6aac61549b6b5874bca6235 (diff)
ASoC: soc-core: find rtd via dai_link pointer at snd_soc_get_pcm_runtime()
Current snd_soc_get_pcm_runtime() is finding rtd by checking dai_link name. But, it is strange and waste of CPU power, because its user want to get from rtd from dai_link, not from dai_link name. This patch find rtd via dai_link pointer instead of its name. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/87a781yq67.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/soc-core.c')
-rw-r--r--sound/soc/soc-core.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index f215a37fd3d6..9ee7d5d118c0 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -393,15 +393,15 @@ static const struct snd_soc_ops null_snd_soc_ops;
struct snd_soc_pcm_runtime
*snd_soc_get_pcm_runtime(struct snd_soc_card *card,
- const char *dai_link)
+ struct snd_soc_dai_link *dai_link)
{
struct snd_soc_pcm_runtime *rtd;
for_each_card_rtds(card, rtd) {
- if (!strcmp(rtd->dai_link->name, dai_link))
+ if (rtd->dai_link == dai_link)
return rtd;
}
- dev_dbg(card->dev, "ASoC: failed to find rtd %s\n", dai_link);
+ dev_dbg(card->dev, "ASoC: failed to find rtd %s\n", dai_link->name);
return NULL;
}
EXPORT_SYMBOL_GPL(snd_soc_get_pcm_runtime);
@@ -1064,7 +1064,7 @@ void snd_soc_remove_dai_link(struct snd_soc_card *card,
if (card->remove_dai_link)
card->remove_dai_link(card, dai_link);
- rtd = snd_soc_get_pcm_runtime(card, dai_link->name);
+ rtd = snd_soc_get_pcm_runtime(card, dai_link);
if (rtd)
soc_free_pcm_runtime(rtd);
}