diff options
Diffstat (limited to 'include/sound/soc.h')
-rw-r--r-- | include/sound/soc.h | 33 |
1 files changed, 28 insertions, 5 deletions
diff --git a/include/sound/soc.h b/include/sound/soc.h index a6a059ca3874..85c15226103b 100644 --- a/include/sound/soc.h +++ b/include/sound/soc.h | |||
@@ -324,6 +324,8 @@ struct snd_soc_dai_link; | |||
324 | struct snd_soc_platform_driver; | 324 | struct snd_soc_platform_driver; |
325 | struct snd_soc_codec; | 325 | struct snd_soc_codec; |
326 | struct snd_soc_codec_driver; | 326 | struct snd_soc_codec_driver; |
327 | struct snd_soc_component; | ||
328 | struct snd_soc_component_driver; | ||
327 | struct soc_enum; | 329 | struct soc_enum; |
328 | struct snd_soc_jack; | 330 | struct snd_soc_jack; |
329 | struct snd_soc_jack_zone; | 331 | struct snd_soc_jack_zone; |
@@ -371,12 +373,20 @@ int snd_soc_suspend(struct device *dev); | |||
371 | int snd_soc_resume(struct device *dev); | 373 | int snd_soc_resume(struct device *dev); |
372 | int snd_soc_poweroff(struct device *dev); | 374 | int snd_soc_poweroff(struct device *dev); |
373 | int snd_soc_register_platform(struct device *dev, | 375 | int snd_soc_register_platform(struct device *dev, |
374 | struct snd_soc_platform_driver *platform_drv); | 376 | const struct snd_soc_platform_driver *platform_drv); |
375 | void snd_soc_unregister_platform(struct device *dev); | 377 | void snd_soc_unregister_platform(struct device *dev); |
378 | int snd_soc_add_platform(struct device *dev, struct snd_soc_platform *platform, | ||
379 | const struct snd_soc_platform_driver *platform_drv); | ||
380 | void snd_soc_remove_platform(struct snd_soc_platform *platform); | ||
381 | struct snd_soc_platform *snd_soc_lookup_platform(struct device *dev); | ||
376 | int snd_soc_register_codec(struct device *dev, | 382 | int snd_soc_register_codec(struct device *dev, |
377 | const struct snd_soc_codec_driver *codec_drv, | 383 | const struct snd_soc_codec_driver *codec_drv, |
378 | struct snd_soc_dai_driver *dai_drv, int num_dai); | 384 | struct snd_soc_dai_driver *dai_drv, int num_dai); |
379 | void snd_soc_unregister_codec(struct device *dev); | 385 | void snd_soc_unregister_codec(struct device *dev); |
386 | int snd_soc_register_component(struct device *dev, | ||
387 | const struct snd_soc_component_driver *cmpnt_drv, | ||
388 | struct snd_soc_dai_driver *dai_drv, int num_dai); | ||
389 | void snd_soc_unregister_component(struct device *dev); | ||
380 | int snd_soc_codec_volatile_register(struct snd_soc_codec *codec, | 390 | int snd_soc_codec_volatile_register(struct snd_soc_codec *codec, |
381 | unsigned int reg); | 391 | unsigned int reg); |
382 | int snd_soc_codec_readable_register(struct snd_soc_codec *codec, | 392 | int snd_soc_codec_readable_register(struct snd_soc_codec *codec, |
@@ -801,10 +811,10 @@ struct snd_soc_platform_driver { | |||
801 | struct snd_soc_dai *); | 811 | struct snd_soc_dai *); |
802 | 812 | ||
803 | /* platform stream pcm ops */ | 813 | /* platform stream pcm ops */ |
804 | struct snd_pcm_ops *ops; | 814 | const struct snd_pcm_ops *ops; |
805 | 815 | ||
806 | /* platform stream compress ops */ | 816 | /* platform stream compress ops */ |
807 | struct snd_compr_ops *compr_ops; | 817 | const struct snd_compr_ops *compr_ops; |
808 | 818 | ||
809 | /* platform stream completion event */ | 819 | /* platform stream completion event */ |
810 | int (*stream_event)(struct snd_soc_dapm_context *dapm, int event); | 820 | int (*stream_event)(struct snd_soc_dapm_context *dapm, int event); |
@@ -823,7 +833,7 @@ struct snd_soc_platform { | |||
823 | const char *name; | 833 | const char *name; |
824 | int id; | 834 | int id; |
825 | struct device *dev; | 835 | struct device *dev; |
826 | struct snd_soc_platform_driver *driver; | 836 | const struct snd_soc_platform_driver *driver; |
827 | struct mutex mutex; | 837 | struct mutex mutex; |
828 | 838 | ||
829 | unsigned int suspended:1; /* platform is suspended */ | 839 | unsigned int suspended:1; /* platform is suspended */ |
@@ -841,6 +851,20 @@ struct snd_soc_platform { | |||
841 | #endif | 851 | #endif |
842 | }; | 852 | }; |
843 | 853 | ||
854 | struct snd_soc_component_driver { | ||
855 | const char *name; | ||
856 | }; | ||
857 | |||
858 | struct snd_soc_component { | ||
859 | const char *name; | ||
860 | int id; | ||
861 | int num_dai; | ||
862 | struct device *dev; | ||
863 | struct list_head list; | ||
864 | |||
865 | const struct snd_soc_component_driver *driver; | ||
866 | }; | ||
867 | |||
844 | struct snd_soc_dai_link { | 868 | struct snd_soc_dai_link { |
845 | /* config - must be set by machine driver */ | 869 | /* config - must be set by machine driver */ |
846 | const char *name; /* Codec name */ | 870 | const char *name; /* Codec name */ |
@@ -1086,7 +1110,6 @@ struct soc_enum { | |||
1086 | unsigned int mask; | 1110 | unsigned int mask; |
1087 | const char * const *texts; | 1111 | const char * const *texts; |
1088 | const unsigned int *values; | 1112 | const unsigned int *values; |
1089 | void *dapm; | ||
1090 | }; | 1113 | }; |
1091 | 1114 | ||
1092 | /* codec IO */ | 1115 | /* codec IO */ |