[PATCH 01/36] ASoC: soc-core: add asoc_rtd_to_cpu/codec() macro
Kuninori Morimoto
kuninori.morimoto.gx at renesas.com
Mon Mar 23 06:16:57 CET 2020
From: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
Now, snd_soc_pcm_runtime supports multi cpu_dai/codec_dai.
It still has cpu_dai/codec_dai for single DAI,
and has cpu_dais/codec_dais for multi DAIs.
dais = [][][][][][][][][][][][][][][][][][]
^cpu_dais ^codec_dais
|--- num_cpus ---|--- num_codecs --|
/* for multi DAIs */
rtd->cpu_dais = &rtd->dais[0];
rtd->codec_dais = &rtd->dais[dai_link->num_cpus];
/* for single DAI */
rtd->cpu_dai = rtd->cpu_dais[0];
rtd->codec_dai = rtd->codec_dais[0];
But, these can be replaced by dais.
This patch adds asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for it.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
---
include/sound/soc.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/include/sound/soc.h b/include/sound/soc.h
index 539211bd0f94..13458e4fbb13 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -1169,6 +1169,10 @@ struct snd_soc_pcm_runtime {
int num_components;
struct snd_soc_component *components[0]; /* CPU/Codec/Platform */
};
+/* see soc_new_pcm_runtime() */
+#define asoc_rtd_to_cpu(rtd, n) (rtd)->dais[n]
+#define asoc_rtd_to_codec(rtd, n) (rtd)->dais[n + (rtd)->num_cpus]
+
#define for_each_rtd_components(rtd, i, component) \
for ((i) = 0; \
((i) < rtd->num_components) && ((component) = rtd->components[i]);\
--
2.17.1
More information about the Alsa-devel
mailing list