aboutsummaryrefslogtreecommitdiffstats
path: root/include/sound/soc-dapm.h
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2009-09-08 13:59:05 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2009-09-08 14:24:56 -0400
commit215edda3adf502ccdf3a358ab35b616e7abd25ff (patch)
treeb0423de56c23f0410608fdb31e6adb49aec503dc /include/sound/soc-dapm.h
parent341c9b84bc01040bd5c75140303e32f6b10098f3 (diff)
ASoC: Allow per-route connectedness checks for supplies
Some chips with complex internal supply (particularly clocking) arragements may have multiple options for some of the supply connections. Since these don't affect user-visible audio routing the expectation would be that they would be managed automatically by one of the drivers. Support these users by allowing routes to have a connected function which is queried before the connectedness of the path is checked as normal. Currently this is only done for supplies, other widgets could be supported but are not currently since the expectation for them is that audio routing will be under the control of userspace. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'include/sound/soc-dapm.h')
-rw-r--r--include/sound/soc-dapm.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/sound/soc-dapm.h b/include/sound/soc-dapm.h
index c1410e3191e3..67224db60348 100644
--- a/include/sound/soc-dapm.h
+++ b/include/sound/soc-dapm.h
@@ -333,6 +333,10 @@ struct snd_soc_dapm_route {
333 const char *sink; 333 const char *sink;
334 const char *control; 334 const char *control;
335 const char *source; 335 const char *source;
336
337 /* Note: currently only supported for links where source is a supply */
338 int (*connected)(struct snd_soc_dapm_widget *source,
339 struct snd_soc_dapm_widget *sink);
336}; 340};
337 341
338/* dapm audio path between two widgets */ 342/* dapm audio path between two widgets */
@@ -349,6 +353,9 @@ struct snd_soc_dapm_path {
349 u32 connect:1; /* source and sink widgets are connected */ 353 u32 connect:1; /* source and sink widgets are connected */
350 u32 walked:1; /* path has been walked */ 354 u32 walked:1; /* path has been walked */
351 355
356 int (*connected)(struct snd_soc_dapm_widget *source,
357 struct snd_soc_dapm_widget *sink);
358
352 struct list_head list_source; 359 struct list_head list_source;
353 struct list_head list_sink; 360 struct list_head list_sink;
354 struct list_head list; 361 struct list_head list;