From 6c2386bc4a1978e54b5b19cdda68ab1c35c3195f Mon Sep 17 00:00:00 2001 From: Dimitris Papastamos Date: Thu, 24 Mar 2011 13:45:18 +0000 Subject: [PATCH] --- yaml --- r: 248214 b: refs/heads/master c: 239c970626b9d9c7449de751d91f9a9da1018b85 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/include/sound/soc.h | 4 ++++ trunk/sound/soc/soc-core.c | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index a7ab87c08ca4..0a5ce88ba17f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8020454c9a1ec5ac5801805896b5f69d0c573e17 +refs/heads/master: 239c970626b9d9c7449de751d91f9a9da1018b85 diff --git a/trunk/include/sound/soc.h b/trunk/include/sound/soc.h index e20835753c6b..2720a9f3780b 100644 --- a/trunk/include/sound/soc.h +++ b/trunk/include/sound/soc.h @@ -278,6 +278,10 @@ int snd_soc_register_codec(struct device *dev, void snd_soc_unregister_codec(struct device *dev); int snd_soc_codec_volatile_register(struct snd_soc_codec *codec, unsigned int reg); +int snd_soc_codec_readable_register(struct snd_soc_codec *codec, + unsigned int reg); +int snd_soc_codec_writable_register(struct snd_soc_codec *codec, + unsigned 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); diff --git a/trunk/sound/soc/soc-core.c b/trunk/sound/soc/soc-core.c index 074a0c6e99f4..5ae70a107f1f 100644 --- a/trunk/sound/soc/soc-core.c +++ b/trunk/sound/soc/soc-core.c @@ -2146,6 +2146,42 @@ int snd_soc_codec_volatile_register(struct snd_soc_codec *codec, } EXPORT_SYMBOL_GPL(snd_soc_codec_volatile_register); +/** + * snd_soc_codec_readable_register: Report if a register is readable. + * + * @codec: CODEC to query. + * @reg: Register to query. + * + * Boolean function indicating if a CODEC register is readable. + */ +int snd_soc_codec_readable_register(struct snd_soc_codec *codec, + unsigned int reg) +{ + if (codec->readable_register) + return codec->readable_register(codec, reg); + else + return 0; +} +EXPORT_SYMBOL_GPL(snd_soc_codec_readable_register); + +/** + * snd_soc_codec_writable_register: Report if a register is writable. + * + * @codec: CODEC to query. + * @reg: Register to query. + * + * Boolean function indicating if a CODEC register is writable. + */ +int snd_soc_codec_writable_register(struct snd_soc_codec *codec, + unsigned int reg) +{ + if (codec->writable_register) + return codec->writable_register(codec, reg); + else + return 0; +} +EXPORT_SYMBOL_GPL(snd_soc_codec_writable_register); + /** * snd_soc_new_ac97_codec - initailise AC97 device * @codec: audio codec