diff options
author | Mark Brown <broonie@kernel.org> | 2015-12-23 03:23:32 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-12-23 03:23:32 +0300 |
commit | a93202fa7b450a2783feecc571dcd0fee55c91c4 (patch) | |
tree | b72bba3a826552606a581850771f0f6f776a1566 /include/sound | |
parent | 3b88210da3a6af69e8bc7a6237e72c6ef5a2ca45 (diff) | |
parent | 61b0088b6a5b98608ce00c18a057b1f5bcb5f8b3 (diff) |
Merge remote-tracking branch 'asoc/topic/pcm-list' into asoc-next
Diffstat (limited to 'include/sound')
-rw-r--r-- | include/sound/soc.h | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/include/sound/soc.h b/include/sound/soc.h index 6dbd24a36ef8..9ea797d48d43 100644 --- a/include/sound/soc.h +++ b/include/sound/soc.h @@ -1040,6 +1040,9 @@ struct snd_soc_dai_link { /* pmdown_time is ignored at stop */ unsigned int ignore_pmdown_time:1; + + struct list_head list; /* DAI link list of the soc card */ + struct snd_soc_dobj dobj; /* For topology */ }; struct snd_soc_codec_conf { @@ -1104,12 +1107,20 @@ struct snd_soc_card { struct snd_soc_dapm_context *dapm, enum snd_soc_bias_level level); + int (*add_dai_link)(struct snd_soc_card *, + struct snd_soc_dai_link *link); + void (*remove_dai_link)(struct snd_soc_card *, + struct snd_soc_dai_link *link); + long pmdown_time; /* CPU <--> Codec DAI links */ - struct snd_soc_dai_link *dai_link; - int num_links; - struct snd_soc_pcm_runtime *rtd; + struct snd_soc_dai_link *dai_link; /* predefined links only */ + int num_links; /* predefined links only */ + struct list_head dai_link_list; /* all links */ + int num_dai_links; + + struct list_head rtd_list; int num_rtd; /* optional codec specific configuration */ @@ -1204,6 +1215,9 @@ struct snd_soc_pcm_runtime { struct dentry *debugfs_dpcm_root; struct dentry *debugfs_dpcm_state; #endif + + unsigned int num; /* 0-based and monotonic increasing */ + struct list_head list; /* rtd list of the soc card */ }; /* mixer control */ @@ -1647,6 +1661,11 @@ int snd_soc_of_get_dai_link_codecs(struct device *dev, struct device_node *of_node, struct snd_soc_dai_link *dai_link); +int snd_soc_add_dai_link(struct snd_soc_card *card, + struct snd_soc_dai_link *dai_link); +void snd_soc_remove_dai_link(struct snd_soc_card *card, + struct snd_soc_dai_link *dai_link); + #include <sound/soc-dai.h> #ifdef CONFIG_DEBUG_FS |