summaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
authorMark Brown2009-07-10 23:24:27 +0200
committerMark Brown2009-08-03 17:59:09 +0200
commit7084a42b965d972079201414d19a399e65b26099 (patch)
tree391a0ed913eb769013ca65e3c042ac043981dbfa /include/sound
parentMerge branch 'tlv320aic3x' into reg-cache (diff)
downloadkernel-qcow2-linux-7084a42b965d972079201414d19a399e65b26099.tar.gz
kernel-qcow2-linux-7084a42b965d972079201414d19a399e65b26099.tar.xz
kernel-qcow2-linux-7084a42b965d972079201414d19a399e65b26099.zip
ASoC: Add I/O control bus information to factored out cache setup
While writes tend to be able to use a fairly bus independant format to do the writes reads are all bus specific. To allow us to factor out this code include the bus type as a parameter when setting up the cache. Initially just use this to factor out hw_write_t for I2C. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/soc.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/include/sound/soc.h b/include/sound/soc.h
index 27409dd41ae9..d0b29a509bdd 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -187,13 +187,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);
+ int addr_bits, int data_bits,
+ enum snd_soc_control_type control);
#ifdef CONFIG_PM
int snd_soc_suspend_device(struct device *dev);