diff options
author | Liam Girdwood <lrg@ti.com> | 2012-04-05 18:21:02 +0100 |
---|---|---|
committer | Sachin Nikam <snikam@nvidia.com> | 2014-02-12 03:27:53 -0800 |
commit | ec331b2650a709245fccf119fc970dda032f91a7 (patch) | |
tree | f8b20b115dac56a6b9e62b95233b7d75d41c9374 /sound | |
parent | 6c3b63ed40441a1dfffbd71b520f42336b47c60a (diff) |
ASoC: dapm: Make sure we only create one widget per DAI.
Sometimes more than 1 widget per DAI can be created when the
DAI is embedded with a codec or platform component.
Change-Id: I3208d2be35a7d1afc789c5623e7ae97f9f3667f8
Signed-off-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Sumit Bhattacharya <sumitb@nvidia.com>
Reviewed-on: http://git-master/r/361955
Reviewed-by: Ravindra Lokhande <rlokhande@nvidia.com>
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/soc-dapm.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c index 6af8fa3daa0e..7025d68fa039 100644 --- a/sound/soc/soc-dapm.c +++ b/sound/soc/soc-dapm.c @@ -3374,6 +3374,11 @@ int snd_soc_dapm_new_dai_widgets(struct snd_soc_dapm_context *dapm, memset(&template, 0, sizeof(template)); template.reg = SND_SOC_NOPM; + /* DAIs can belong to codecs and platform component devices so check + that we have not been created already with component */ + if (dai->playback_widget || dai->capture_widget) + return 0; + if (dai->driver->playback.stream_name) { template.id = snd_soc_dapm_dai_in; template.name = dai->driver->playback.stream_name; |