aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/sound/soc.h33
1 files changed, 19 insertions, 14 deletions
diff --git a/include/sound/soc.h b/include/sound/soc.h
index d22cb0a06feb..9a81e2e7d661 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -670,6 +670,21 @@ struct snd_soc_cache_ops {
670 int (*sync)(struct snd_soc_codec *codec); 670 int (*sync)(struct snd_soc_codec *codec);
671}; 671};
672 672
673/* component interface */
674struct snd_soc_component_driver {
675 const char *name;
676};
677
678struct snd_soc_component {
679 const char *name;
680 int id;
681 int num_dai;
682 struct device *dev;
683 struct list_head list;
684
685 const struct snd_soc_component_driver *driver;
686};
687
673/* SoC Audio Codec device */ 688/* SoC Audio Codec device */
674struct snd_soc_codec { 689struct snd_soc_codec {
675 const char *name; 690 const char *name;
@@ -715,6 +730,9 @@ struct snd_soc_codec {
715 struct mutex cache_rw_mutex; 730 struct mutex cache_rw_mutex;
716 int val_bytes; 731 int val_bytes;
717 732
733 /* component */
734 struct snd_soc_component component;
735
718 /* dapm */ 736 /* dapm */
719 struct snd_soc_dapm_context dapm; 737 struct snd_soc_dapm_context dapm;
720 unsigned int ignore_pmdown_time:1; /* pmdown_time is ignored at stop */ 738 unsigned int ignore_pmdown_time:1; /* pmdown_time is ignored at stop */
@@ -733,6 +751,7 @@ struct snd_soc_codec_driver {
733 int (*remove)(struct snd_soc_codec *); 751 int (*remove)(struct snd_soc_codec *);
734 int (*suspend)(struct snd_soc_codec *); 752 int (*suspend)(struct snd_soc_codec *);
735 int (*resume)(struct snd_soc_codec *); 753 int (*resume)(struct snd_soc_codec *);
754 struct snd_soc_component_driver component_driver;
736 755
737 /* Default control and setup, added after probe() is run */ 756 /* Default control and setup, added after probe() is run */
738 const struct snd_kcontrol_new *controls; 757 const struct snd_kcontrol_new *controls;
@@ -849,20 +868,6 @@ struct snd_soc_platform {
849#endif 868#endif
850}; 869};
851 870
852struct snd_soc_component_driver {
853 const char *name;
854};
855
856struct snd_soc_component {
857 const char *name;
858 int id;
859 int num_dai;
860 struct device *dev;
861 struct list_head list;
862
863 const struct snd_soc_component_driver *driver;
864};
865
866struct snd_soc_dai_link { 871struct snd_soc_dai_link {
867 /* config - must be set by machine driver */ 872 /* config - must be set by machine driver */
868 const char *name; /* Codec name */ 873 const char *name; /* Codec name */