aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMark Brown <[email protected]>2021-04-08 17:39:58 +0100
committerMark Brown <[email protected]>2021-04-08 17:39:58 +0100
commit703fe25d11ae613c77b8e72bb06efc06de871648 (patch)
tree5b2e051964c3376c6fde78f722f7526d785f86e7 /include
parentf2ec1ebb257155fb534cad390575d696dfd567fb (diff)
parent205eb17eddb473c3159743c7d3aaf68db37b7231 (diff)
Merge series "ASoC: simple-card-utils: prepare for multi support" from Kuninori Morimoto <[email protected]>:
Hi Mark I want to add new audio-graph-card2 driver which can support not only DPCM, but also Multi-CPU/Codec, and Codec2Codec. And it is also supporting audio-graph-card2 base custom driver. But before supporting such driver, we need to cleanup existing simple-card / audio-graph, because these and new driver are sharing code. This patch-set are for Multi-CPU/Codec support, and some cleanups. Kuninori Morimoto (14): ASoC: simple-card-utils: enable flexible CPU/Codec/Platform ASoC: simple-card-utils: share dummy DAI and reduce memory ASoC: simple-card-utils: setup dai_props cpu_dai/codec_dai at initial timing ASoC: simple-card-utils: remove li->dais/li->conf ASoC: simple-card-utils: use for_each_prop_xxx() ASoC: simple-card-utils: remove asoc_simple_parse_xxx() ASoC: simple-card-utils: care multi DAI at asoc_simple_clean_reference() ASoC: simple-card-utils: indicate dai_fmt if exist ASoC: simple-card-utils: indicate missing CPU/Codec numbers for debug ASoC: simple-card-utils: add simple_props_to_xxx() macro ASoC: simple-card-utils: multi support at asoc_simple_canonicalize_cpu/platform() ASoC: simple-card-utils: tidyup debug info for clock ASoC: simple-card-utils: tidyup dev_dbg() to use 1 line ASoC: simple-card-utils: tidyup asoc_simple_parse_convert() include/sound/simple_card_utils.h | 116 +++++++---- sound/soc/generic/audio-graph-card.c | 90 ++++----- sound/soc/generic/simple-card-utils.c | 272 +++++++++++++++++--------- sound/soc/generic/simple-card.c | 104 +++++----- 4 files changed, 352 insertions(+), 230 deletions(-) -- 2.25.1
Diffstat (limited to 'include')
-rw-r--r--include/sound/simple_card_utils.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/sound/simple_card_utils.h b/include/sound/simple_card_utils.h
index 86e46cbf9e14..6635283a8160 100644
--- a/include/sound/simple_card_utils.h
+++ b/include/sound/simple_card_utils.h
@@ -38,6 +38,12 @@ struct asoc_simple_jack {
struct snd_soc_jack_gpio gpio;
};
+struct prop_nums {
+ int cpus;
+ int codecs;
+ int platforms;
+};
+
struct asoc_simple_priv {
struct snd_soc_card snd_card;
struct simple_dai_props {
@@ -48,6 +54,7 @@ struct asoc_simple_priv {
struct snd_soc_dai_link_component *platforms;
struct asoc_simple_data adata;
struct snd_soc_codec_conf *codec_conf;
+ struct prop_nums num;
unsigned int mclk_fs;
} *dai_props;
struct asoc_simple_jack hp_jack;
@@ -55,6 +62,7 @@ struct asoc_simple_priv {
struct snd_soc_dai_link *dai_link;
struct asoc_simple_dai *dais;
struct snd_soc_dai_link_component *dlcs;
+ struct snd_soc_dai_link_component dummy;
struct snd_soc_codec_conf *codec_conf;
struct gpio_desc *pa_gpio;
const struct snd_soc_ops *ops;
@@ -71,6 +79,7 @@ struct link_info {
int link; /* number of link */
int conf; /* number of codec_conf */
int cpu; /* turn for CPU / Codec */
+ struct prop_nums num[SNDRV_MINOR_DEVICES];
};
int asoc_simple_parse_daifmt(struct device *dev,