aboutsummaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
authorLiam Girdwood <lrg@ti.com>2012-04-18 06:41:11 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-04-18 13:23:00 -0400
commitec2e3031b65f23f66840b5c89c4b83076831a435 (patch)
treeb85d6a5590fc0eaa3a5e7ca1a67e97b673629e65 /include/sound
parent0cbe4b36b075e80f3149a91ef640bc7930aa94c7 (diff)
ASoC: dapm: Add API call to query valid DAPM paths
In preparation for ASoC DSP support. Add a DAPM API call to determine whether a DAPM audio path is valid between source and sink widgets. This also takes into account all kcontrol mux and mixer settings in between the source and sink widgets to validate the audio path. This will be used by the DSP core to determine the runtime DAI mappings between FE and BE DAIs in order to run PCM operations. Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/soc-dapm.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/sound/soc-dapm.h b/include/sound/soc-dapm.h
index bea0c8658aa0..e3833d9f1914 100644
--- a/include/sound/soc-dapm.h
+++ b/include/sound/soc-dapm.h
@@ -321,6 +321,7 @@ struct snd_soc_dapm_pin;
321struct snd_soc_dapm_route; 321struct snd_soc_dapm_route;
322struct snd_soc_dapm_context; 322struct snd_soc_dapm_context;
323struct regulator; 323struct regulator;
324struct snd_soc_dapm_widget_list;
324 325
325int dapm_reg_event(struct snd_soc_dapm_widget *w, 326int dapm_reg_event(struct snd_soc_dapm_widget *w,
326 struct snd_kcontrol *kcontrol, int event); 327 struct snd_kcontrol *kcontrol, int event);
@@ -403,6 +404,10 @@ void snd_soc_dapm_auto_nc_codec_pins(struct snd_soc_codec *codec);
403/* Mostly internal - should not normally be used */ 404/* Mostly internal - should not normally be used */
404void dapm_mark_dirty(struct snd_soc_dapm_widget *w, const char *reason); 405void dapm_mark_dirty(struct snd_soc_dapm_widget *w, const char *reason);
405 406
407/* dapm path query */
408int snd_soc_dapm_dai_get_connected_widgets(struct snd_soc_dai *dai, int stream,
409 struct snd_soc_dapm_widget_list **list);
410
406/* dapm widget types */ 411/* dapm widget types */
407enum snd_soc_dapm_type { 412enum snd_soc_dapm_type {
408 snd_soc_dapm_input = 0, /* input pin */ 413 snd_soc_dapm_input = 0, /* input pin */