aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2009-07-10 17:24:27 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2009-08-03 11:59:09 -0400
commit7084a42b965d972079201414d19a399e65b26099 (patch)
tree391a0ed913eb769013ca65e3c042ac043981dbfa /include
parent030c819e79e8ad0320486e9ccbe76d2f0870369f (diff)
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')
-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);
187 187
188extern struct snd_ac97_bus_ops soc_ac97_ops; 188extern struct snd_ac97_bus_ops soc_ac97_ops;
189 189
190enum snd_soc_control_type {
191 SND_SOC_CUSTOM,
192 SND_SOC_I2C,
193 SND_SOC_SPI,
194};
195
190int snd_soc_register_platform(struct snd_soc_platform *platform); 196int snd_soc_register_platform(struct snd_soc_platform *platform);
191void snd_soc_unregister_platform(struct snd_soc_platform *platform); 197void snd_soc_unregister_platform(struct snd_soc_platform *platform);
192int snd_soc_register_codec(struct snd_soc_codec *codec); 198int snd_soc_register_codec(struct snd_soc_codec *codec);
193void snd_soc_unregister_codec(struct snd_soc_codec *codec); 199void snd_soc_unregister_codec(struct snd_soc_codec *codec);
194int snd_soc_codec_volatile_register(struct snd_soc_codec *codec, int reg); 200int snd_soc_codec_volatile_register(struct snd_soc_codec *codec, int reg);
195int snd_soc_codec_set_cache_io(struct snd_soc_codec *codec, 201int snd_soc_codec_set_cache_io(struct snd_soc_codec *codec,
196 int addr_bits, int data_bits); 202 int addr_bits, int data_bits,
203 enum snd_soc_control_type control);
197 204
198#ifdef CONFIG_PM 205#ifdef CONFIG_PM
199int snd_soc_suspend_device(struct device *dev); 206int snd_soc_suspend_device(struct device *dev);