summaryrefslogtreecommitdiff
path: root/include/sound
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2011-06-13 16:42:29 +0100
committerMark Brown <broonie@opensource.wolfsonmicro.com>2011-06-13 18:59:33 +0100
commitbf3a9e137cf1a1c664f44acfa36a487f0437f6aa (patch)
tree666892dd62a26bf38733d79386b5c5909c896b93 /include/sound
parent5bef44f9b4849d1c3af4ed2ea93061ff56e68cd7 (diff)
downloadlinux-3.10-bf3a9e137cf1a1c664f44acfa36a487f0437f6aa.tar.gz
linux-3.10-bf3a9e137cf1a1c664f44acfa36a487f0437f6aa.tar.bz2
linux-3.10-bf3a9e137cf1a1c664f44acfa36a487f0437f6aa.zip
ASoC: Add weak routes for sidetone style paths
Normally DAPM will power up any connected audio path. This is not ideal for sidetone paths as with sidetone paths the audio path is not wanted in itself, it is only desired if the two paths it provides a sidetone between are both active. If the sidetone path causes a power up then it can be hard to minimise pops as we first power up either the sidetone or the main output path and then power the other, with the second power up potentially introducing a DC offset. Address this by introducing the concept of a weak path. If a path is marked as weak then DAPM will ignore that path when walking the graph, though all the relevant controls are still available to the application layer to allow these paths to be configured. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/soc-dapm.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/sound/soc-dapm.h b/include/sound/soc-dapm.h
index 7415878c8b3..7c5465b14d3 100644
--- a/include/sound/soc-dapm.h
+++ b/include/sound/soc-dapm.h
@@ -348,6 +348,8 @@ int snd_soc_dapm_new_widgets(struct snd_soc_dapm_context *dapm);
void snd_soc_dapm_free(struct snd_soc_dapm_context *dapm);
int snd_soc_dapm_add_routes(struct snd_soc_dapm_context *dapm,
const struct snd_soc_dapm_route *route, int num);
+int snd_soc_dapm_weak_routes(struct snd_soc_dapm_context *dapm,
+ const struct snd_soc_dapm_route *route, int num);
/* dapm events */
int snd_soc_dapm_stream_event(struct snd_soc_pcm_runtime *rtd,