summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2009-08-07 11:43:58 +0100
committerMark Brown <broonie@opensource.wolfsonmicro.com>2009-08-07 11:43:58 +0100
commit06cddefc1f25b847dafe392f3d5781482b3395b5 (patch)
tree97f4df2e4ae6a1e8194ca67ede1b552802ba2334 /include
parentb9b5cc26d0b3a9b361cc56c3a3b0d6f819b9195f (diff)
parent27ded041f03026e8c6be9efc626e11ddfb4620c1 (diff)
downloadlinux-06cddefc1f25b847dafe392f3d5781482b3395b5.tar.bz2
Merge branch 'reg-cache' into for-2.6.32
Diffstat (limited to 'include')
-rw-r--r--include/sound/soc.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/include/sound/soc.h b/include/sound/soc.h
index 55b330937260..dbb1702688cd 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;