diff options
Diffstat (limited to 'include/sound/soc.h')
-rw-r--r-- | include/sound/soc.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/include/sound/soc.h b/include/sound/soc.h index aa19f5a32ba8..24e17be38c19 100644 --- a/include/sound/soc.h +++ b/include/sound/soc.h | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/workqueue.h> | 19 | #include <linux/workqueue.h> |
20 | #include <linux/interrupt.h> | 20 | #include <linux/interrupt.h> |
21 | #include <linux/kernel.h> | 21 | #include <linux/kernel.h> |
22 | #include <linux/regmap.h> | ||
22 | #include <sound/core.h> | 23 | #include <sound/core.h> |
23 | #include <sound/pcm.h> | 24 | #include <sound/pcm.h> |
24 | #include <sound/control.h> | 25 | #include <sound/control.h> |
@@ -260,6 +261,7 @@ extern struct snd_ac97_bus_ops soc_ac97_ops; | |||
260 | enum snd_soc_control_type { | 261 | enum snd_soc_control_type { |
261 | SND_SOC_I2C = 1, | 262 | SND_SOC_I2C = 1, |
262 | SND_SOC_SPI, | 263 | SND_SOC_SPI, |
264 | SND_SOC_REGMAP, | ||
263 | }; | 265 | }; |
264 | 266 | ||
265 | enum snd_soc_compress_type { | 267 | enum snd_soc_compress_type { |
@@ -274,7 +276,7 @@ enum snd_soc_pcm_subclass { | |||
274 | }; | 276 | }; |
275 | 277 | ||
276 | int snd_soc_codec_set_sysclk(struct snd_soc_codec *codec, int clk_id, | 278 | int snd_soc_codec_set_sysclk(struct snd_soc_codec *codec, int clk_id, |
277 | unsigned int freq, int dir); | 279 | int source, unsigned int freq, int dir); |
278 | int snd_soc_codec_set_pll(struct snd_soc_codec *codec, int pll_id, int source, | 280 | int snd_soc_codec_set_pll(struct snd_soc_codec *codec, int pll_id, int source, |
279 | unsigned int freq_in, unsigned int freq_out); | 281 | unsigned int freq_in, unsigned int freq_out); |
280 | 282 | ||
@@ -576,6 +578,7 @@ struct snd_soc_codec { | |||
576 | const void *reg_def_copy; | 578 | const void *reg_def_copy; |
577 | const struct snd_soc_cache_ops *cache_ops; | 579 | const struct snd_soc_cache_ops *cache_ops; |
578 | struct mutex cache_rw_mutex; | 580 | struct mutex cache_rw_mutex; |
581 | int val_bytes; | ||
579 | 582 | ||
580 | /* dapm */ | 583 | /* dapm */ |
581 | struct snd_soc_dapm_context dapm; | 584 | struct snd_soc_dapm_context dapm; |
@@ -607,7 +610,7 @@ struct snd_soc_codec_driver { | |||
607 | 610 | ||
608 | /* codec wide operations */ | 611 | /* codec wide operations */ |
609 | int (*set_sysclk)(struct snd_soc_codec *codec, | 612 | int (*set_sysclk)(struct snd_soc_codec *codec, |
610 | int clk_id, unsigned int freq, int dir); | 613 | int clk_id, int source, unsigned int freq, int dir); |
611 | int (*set_pll)(struct snd_soc_codec *codec, int pll_id, int source, | 614 | int (*set_pll)(struct snd_soc_codec *codec, int pll_id, int source, |
612 | unsigned int freq_in, unsigned int freq_out); | 615 | unsigned int freq_in, unsigned int freq_out); |
613 | 616 | ||
@@ -619,7 +622,7 @@ struct snd_soc_codec_driver { | |||
619 | int (*volatile_register)(struct snd_soc_codec *, unsigned int); | 622 | int (*volatile_register)(struct snd_soc_codec *, unsigned int); |
620 | int (*readable_register)(struct snd_soc_codec *, unsigned int); | 623 | int (*readable_register)(struct snd_soc_codec *, unsigned int); |
621 | int (*writable_register)(struct snd_soc_codec *, unsigned int); | 624 | int (*writable_register)(struct snd_soc_codec *, unsigned int); |
622 | short reg_cache_size; | 625 | unsigned int reg_cache_size; |
623 | short reg_cache_step; | 626 | short reg_cache_step; |
624 | short reg_word_size; | 627 | short reg_word_size; |
625 | const void *reg_cache_default; | 628 | const void *reg_cache_default; |
@@ -630,10 +633,14 @@ struct snd_soc_codec_driver { | |||
630 | /* codec bias level */ | 633 | /* codec bias level */ |
631 | int (*set_bias_level)(struct snd_soc_codec *, | 634 | int (*set_bias_level)(struct snd_soc_codec *, |
632 | enum snd_soc_bias_level level); | 635 | enum snd_soc_bias_level level); |
636 | bool idle_bias_off; | ||
633 | 637 | ||
634 | void (*seq_notifier)(struct snd_soc_dapm_context *, | 638 | void (*seq_notifier)(struct snd_soc_dapm_context *, |
635 | enum snd_soc_dapm_type, int); | 639 | enum snd_soc_dapm_type, int); |
636 | 640 | ||
641 | /* codec stream completion event */ | ||
642 | int (*stream_event)(struct snd_soc_dapm_context *dapm, int event); | ||
643 | |||
637 | /* probe ordering - for components with runtime dependencies */ | 644 | /* probe ordering - for components with runtime dependencies */ |
638 | int probe_order; | 645 | int probe_order; |
639 | int remove_order; | 646 | int remove_order; |
@@ -669,6 +676,9 @@ struct snd_soc_platform_driver { | |||
669 | /* platform stream ops */ | 676 | /* platform stream ops */ |
670 | struct snd_pcm_ops *ops; | 677 | struct snd_pcm_ops *ops; |
671 | 678 | ||
679 | /* platform stream completion event */ | ||
680 | int (*stream_event)(struct snd_soc_dapm_context *dapm, int event); | ||
681 | |||
672 | /* probe ordering - for components with runtime dependencies */ | 682 | /* probe ordering - for components with runtime dependencies */ |
673 | int probe_order; | 683 | int probe_order; |
674 | int remove_order; | 684 | int remove_order; |