diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2009-08-07 11:43:58 +0100 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2009-08-07 11:43:58 +0100 |
commit | 06cddefc1f25b847dafe392f3d5781482b3395b5 (patch) | |
tree | 97f4df2e4ae6a1e8194ca67ede1b552802ba2334 /include/sound/soc.h | |
parent | b9b5cc26d0b3a9b361cc56c3a3b0d6f819b9195f (diff) | |
parent | 27ded041f03026e8c6be9efc626e11ddfb4620c1 (diff) |
Merge branch 'reg-cache' into for-2.6.32
Diffstat (limited to 'include/sound/soc.h')
-rw-r--r-- | include/sound/soc.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/include/sound/soc.h b/include/sound/soc.h index 55b33093726..dbb1702688c 100644 --- a/include/sound/soc.h +++ b/include/sound/soc.h @@ -209,11 +209,20 @@ typedef int (*hw_read_t)(void *,char* ,int); extern struct snd_ac97_bus_ops soc_ac97_ops; +enum snd_soc_control_type { + SND_SOC_CUSTOM, + SND_SOC_I2C, + SND_SOC_SPI, +}; + int snd_soc_register_platform(struct snd_soc_platform *platform); void snd_soc_unregister_platform(struct snd_soc_platform *platform); int snd_soc_register_codec(struct snd_soc_codec *codec); void snd_soc_unregister_codec(struct snd_soc_codec *codec); int snd_soc_codec_volatile_register(struct snd_soc_codec *codec, int reg); +int snd_soc_codec_set_cache_io(struct snd_soc_codec *codec, + int addr_bits, int data_bits, + enum snd_soc_control_type control); #ifdef CONFIG_PM int snd_soc_suspend_device(struct device *dev); @@ -387,7 +396,7 @@ struct snd_soc_codec { int (*volatile_register)(unsigned int); int (*readable_register)(unsigned int); hw_write_t hw_write; - hw_read_t hw_read; + unsigned int (*hw_read)(struct snd_soc_codec *, unsigned int); void *reg_cache; short reg_cache_size; short reg_cache_step; |