summaryrefslogtreecommitdiff
path: root/sound/soc/codecs/cs4349.c
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@ingics.com>2015-07-19 04:14:23 +0300
committerMark Brown <broonie@kernel.org>2015-07-20 20:18:46 +0300
commit0443de7e7e559eab7df2566d0e46940f753db51d (patch)
tree6902ccb157f2d80f5457d3fa2f39ccaa8fd63ad5 /sound/soc/codecs/cs4349.c
parentda304ac37efc1900892b5067c65f0ab8acfe3955 (diff)
downloadlinux-0443de7e7e559eab7df2566d0e46940f753db51d.tar.xz
ASoC: cs4349: Set .writeable_reg for cs4349_regmap
The first valid register index is 1 rather than 0, and the CS4349_CHIPID is readonly. So set .writeable_reg to avoid writing to these registers. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/codecs/cs4349.c')
-rw-r--r--sound/soc/codecs/cs4349.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/sound/soc/codecs/cs4349.c b/sound/soc/codecs/cs4349.c
index 4885695e35a7..a6604a34db34 100644
--- a/sound/soc/codecs/cs4349.c
+++ b/sound/soc/codecs/cs4349.c
@@ -54,14 +54,17 @@ struct cs4349_private {
static bool cs4349_readable_register(struct device *dev, unsigned int reg)
{
switch (reg) {
- case CS4349_CHIPID:
- case CS4349_MODE:
- case CS4349_VMI:
- case CS4349_MUTE:
- case CS4349_VOLA:
- case CS4349_VOLB:
- case CS4349_RMPFLT:
- case CS4349_MISC:
+ case CS4349_CHIPID ... CS4349_MISC:
+ return true;
+ default:
+ return false;
+ }
+}
+
+static bool cs4349_writeable_register(struct device *dev, unsigned int reg)
+{
+ switch (reg) {
+ case CS4349_MODE ... CS4349_MISC:
return true;
default:
return false;
@@ -270,6 +273,7 @@ static const struct regmap_config cs4349_regmap = {
.reg_defaults = cs4349_reg_defaults,
.num_reg_defaults = ARRAY_SIZE(cs4349_reg_defaults),
.readable_reg = cs4349_readable_register,
+ .writeable_reg = cs4349_writeable_register,
.cache_type = REGCACHE_RBTREE,
};