diff options
-rw-r--r-- | include/sound/soc.h | 4 | ||||
-rw-r--r-- | sound/soc/soc-core.c | 36 |
2 files changed, 40 insertions, 0 deletions
diff --git a/include/sound/soc.h b/include/sound/soc.h index e20835753c6b..2720a9f3780b 100644 --- a/include/sound/soc.h +++ b/include/sound/soc.h | |||
@@ -278,6 +278,10 @@ int snd_soc_register_codec(struct device *dev, | |||
278 | void snd_soc_unregister_codec(struct device *dev); | 278 | void snd_soc_unregister_codec(struct device *dev); |
279 | int snd_soc_codec_volatile_register(struct snd_soc_codec *codec, | 279 | int snd_soc_codec_volatile_register(struct snd_soc_codec *codec, |
280 | unsigned int reg); | 280 | unsigned int reg); |
281 | int snd_soc_codec_readable_register(struct snd_soc_codec *codec, | ||
282 | unsigned int reg); | ||
283 | int snd_soc_codec_writable_register(struct snd_soc_codec *codec, | ||
284 | unsigned int reg); | ||
281 | int snd_soc_codec_set_cache_io(struct snd_soc_codec *codec, | 285 | int snd_soc_codec_set_cache_io(struct snd_soc_codec *codec, |
282 | int addr_bits, int data_bits, | 286 | int addr_bits, int data_bits, |
283 | enum snd_soc_control_type control); | 287 | enum snd_soc_control_type control); |
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 074a0c6e99f4..5ae70a107f1f 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c | |||
@@ -2147,6 +2147,42 @@ int snd_soc_codec_volatile_register(struct snd_soc_codec *codec, | |||
2147 | EXPORT_SYMBOL_GPL(snd_soc_codec_volatile_register); | 2147 | EXPORT_SYMBOL_GPL(snd_soc_codec_volatile_register); |
2148 | 2148 | ||
2149 | /** | 2149 | /** |
2150 | * snd_soc_codec_readable_register: Report if a register is readable. | ||
2151 | * | ||
2152 | * @codec: CODEC to query. | ||
2153 | * @reg: Register to query. | ||
2154 | * | ||
2155 | * Boolean function indicating if a CODEC register is readable. | ||
2156 | */ | ||
2157 | int snd_soc_codec_readable_register(struct snd_soc_codec *codec, | ||
2158 | unsigned int reg) | ||
2159 | { | ||
2160 | if (codec->readable_register) | ||
2161 | return codec->readable_register(codec, reg); | ||
2162 | else | ||
2163 | return 0; | ||
2164 | } | ||
2165 | EXPORT_SYMBOL_GPL(snd_soc_codec_readable_register); | ||
2166 | |||
2167 | /** | ||
2168 | * snd_soc_codec_writable_register: Report if a register is writable. | ||
2169 | * | ||
2170 | * @codec: CODEC to query. | ||
2171 | * @reg: Register to query. | ||
2172 | * | ||
2173 | * Boolean function indicating if a CODEC register is writable. | ||
2174 | */ | ||
2175 | int snd_soc_codec_writable_register(struct snd_soc_codec *codec, | ||
2176 | unsigned int reg) | ||
2177 | { | ||
2178 | if (codec->writable_register) | ||
2179 | return codec->writable_register(codec, reg); | ||
2180 | else | ||
2181 | return 0; | ||
2182 | } | ||
2183 | EXPORT_SYMBOL_GPL(snd_soc_codec_writable_register); | ||
2184 | |||
2185 | /** | ||
2150 | * snd_soc_new_ac97_codec - initailise AC97 device | 2186 | * snd_soc_new_ac97_codec - initailise AC97 device |
2151 | * @codec: audio codec | 2187 | * @codec: audio codec |
2152 | * @ops: AC97 bus operations | 2188 | * @ops: AC97 bus operations |