summaryrefslogtreecommitdiff
path: root/include/sound/soc.h
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2016-01-11 16:54:31 +0300
committerMark Brown <broonie@kernel.org>2016-01-11 16:54:31 +0300
commita1916ff3500db308bff5913996a62b0bf8c4a97e (patch)
treeb2962e147d43e12ecfaf38b6f6e1c76d222e4ae2 /include/sound/soc.h
parent2dd49f8e6f2029e1fd449d5e5190fd19fa0fa3d3 (diff)
parentf2ed6b07645ed29c1e090ead2e41066385cba3ea (diff)
downloadlinux-a1916ff3500db308bff5913996a62b0bf8c4a97e.tar.xz
Merge remote-tracking branch 'asoc/topic/pcm-list' into asoc-next
Diffstat (limited to 'include/sound/soc.h')
-rw-r--r--include/sound/soc.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/include/sound/soc.h b/include/sound/soc.h
index aae55d00feb8..7afb72ceac56 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -798,6 +798,7 @@ struct snd_soc_component {
unsigned int registered_as_component:1;
struct list_head list;
+ struct list_head list_aux; /* for auxiliary component of the card */
struct snd_soc_dai_driver *dai_drv;
int num_dai;
@@ -841,6 +842,9 @@ struct snd_soc_component {
int (*probe)(struct snd_soc_component *);
void (*remove)(struct snd_soc_component *);
+ /* machine specific init */
+ int (*init)(struct snd_soc_component *component);
+
#ifdef CONFIG_DEBUG_FS
void (*init_debugfs)(struct snd_soc_component *component);
const char *debugfs_prefix;
@@ -1141,8 +1145,7 @@ struct snd_soc_card {
*/
struct snd_soc_aux_dev *aux_dev;
int num_aux_devs;
- struct snd_soc_pcm_runtime *rtd_aux;
- int num_aux_rtd;
+ struct list_head aux_comp_list;
const struct snd_kcontrol_new *controls;
int num_controls;
@@ -1550,6 +1553,7 @@ static inline void snd_soc_initialize_card_lists(struct snd_soc_card *card)
INIT_LIST_HEAD(&card->widgets);
INIT_LIST_HEAD(&card->paths);
INIT_LIST_HEAD(&card->dapm_list);
+ INIT_LIST_HEAD(&card->aux_comp_list);
}
static inline bool snd_soc_volsw_is_stereo(struct soc_mixer_control *mc)
@@ -1676,6 +1680,9 @@ int snd_soc_add_dai_link(struct snd_soc_card *card,
void snd_soc_remove_dai_link(struct snd_soc_card *card,
struct snd_soc_dai_link *dai_link);
+int snd_soc_register_dai(struct snd_soc_component *component,
+ struct snd_soc_dai_driver *dai_drv);
+
#include <sound/soc-dai.h>
#ifdef CONFIG_DEBUG_FS