]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
ASoC: avoid duplicated DAI routes
authorRussell King <rmk+kernel@arm.linux.org.uk>
Sun, 4 Aug 2013 19:24:03 +0000 (20:24 +0100)
committerMark Brown <broonie@linaro.org>
Mon, 5 Aug 2013 16:16:41 +0000 (17:16 +0100)
commit19c2c5f55e31ac8da87bb8efe0cf86aa933e6a2f
tree8e80da3d519ead118918070b32d3b59d624a0f2f
parent57295073b6acfdfaf9319d3caf92a5c433fdf109
ASoC: avoid duplicated DAI routes

ASoC automatically creates snd_soc_dapm_dai_in and snd_soc_dapm_dai_out
widgets for DAI drivers, and adds them to the list.  Later on, ASoC
creates automatic routes between these widgets and a widget with a
stream name.

We look for a snd_soc_dapm_dai_in or snd_soc_dapm_dai_out widget, and
use this to obtain the DAI structure.  We then scan all widgets for
any with a stream name refering to either the capture or the playback
stream, and create routes.

If you have both a snd_soc_dapm_dai_in and a snd_soc_dapm_dai_out
referring to the same DAI structure, this ends up creating one set of
routes for the DAI for the snd_soc_dapm_dai_in widget, and a duplicated
set of routes for the snd_soc_dapm_dai_out widget.

Fix this by checking that the stream name for the widget matches the
DAI widget name.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/soc-dapm.c