summaryrefslogtreecommitdiffstats
path: root/sound/soc/soc-pcm.c
diff options
context:
space:
mode:
authorFabio Estevam2013-08-29 15:32:13 +0200
committerMark Brown2013-09-01 17:29:27 +0200
commitd6bead020d8f8bcaca5cdcb035250c44b21c93e7 (patch)
treecca1acff1246987d91bffe6906e82f0d38136e6b /sound/soc/soc-pcm.c
parentASoC: fsl_spdif: Staticse non-exported symbols (diff)
downloadkernel-qcow2-linux-d6bead020d8f8bcaca5cdcb035250c44b21c93e7.tar.gz
kernel-qcow2-linux-d6bead020d8f8bcaca5cdcb035250c44b21c93e7.tar.xz
kernel-qcow2-linux-d6bead020d8f8bcaca5cdcb035250c44b21c93e7.zip
ASoC: soc-pcm: Allow to specify unidirectional dai_link
Add 'playback_only' and 'capture_only' fields that can be used for specifying that a dai_link has a unidirectional capability. The motivation for this is for the cases of systems, such as Freescale MX28, that has two unidirectional DAIs. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'sound/soc/soc-pcm.c')
-rw-r--r--sound/soc/soc-pcm.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
index b6c640332a17..9abaa52efb2e 100644
--- a/sound/soc/soc-pcm.c
+++ b/sound/soc/soc-pcm.c
@@ -2027,6 +2027,16 @@ int soc_new_pcm(struct snd_soc_pcm_runtime *rtd, int num)
capture = 1;
}
+ if (rtd->dai_link->playback_only) {
+ playback = 1;
+ capture = 0;
+ }
+
+ if (rtd->dai_link->capture_only) {
+ playback = 0;
+ capture = 1;
+ }
+
/* create the PCM */
if (rtd->dai_link->no_pcm) {
snprintf(new_name, sizeof(new_name), "(%s)",