summaryrefslogtreecommitdiffstats
path: root/sound/soc/soc-core.c
diff options
context:
space:
mode:
authorMark Brown2009-07-05 16:12:22 +0200
committerMark Brown2009-07-05 16:12:22 +0200
commit096e49d5e6f7bd93395e7ddf7e0239e1644d0505 (patch)
tree8247ad9e691171481fa00fd3cb301bb4f03779d8 /sound/soc/soc-core.c
parentASoC: DaVinci: i2s, add davinci_i2s_prepare and shutdown (diff)
downloadkernel-qcow2-linux-096e49d5e6f7bd93395e7ddf7e0239e1644d0505.tar.gz
kernel-qcow2-linux-096e49d5e6f7bd93395e7ddf7e0239e1644d0505.tar.xz
kernel-qcow2-linux-096e49d5e6f7bd93395e7ddf7e0239e1644d0505.zip
ASoC: Add CODEC volatile register operation
Add a volatile_register() operation to the CODEC structure providing a standard operation to query if a register is volatile. This will be used to factor out the register cache I/O operations for the CODECs. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/soc-core.c')
-rw-r--r--sound/soc/soc-core.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index dfc03c0bacb6..8bf49a4e664a 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -1125,6 +1125,23 @@ static int soc_new_pcm(struct snd_soc_device *socdev,
return ret;
}
+/**
+ * snd_soc_codec_volatile_register: Report if a register is volatile.
+ *
+ * @codec: CODEC to query.
+ * @reg: Register to query.
+ *
+ * Boolean function indiciating if a CODEC register is volatile.
+ */
+int snd_soc_codec_volatile_register(struct snd_soc_codec *codec, int reg)
+{
+ if (codec->volatile_register)
+ return codec->volatile_register(reg);
+ else
+ return 0;
+}
+EXPORT_SYMBOL_GPL(snd_soc_codec_volatile_register);
+
/* codec register dump */
static ssize_t soc_codec_reg_show(struct snd_soc_codec *codec, char *buf)
{