aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@ingics.com>2015-07-18 21:14:23 -0400
committerMark Brown <broonie@kernel.org>2015-07-20 13:18:46 -0400
commit0443de7e7e559eab7df2566d0e46940f753db51d (patch)
tree6902ccb157f2d80f5457d3fa2f39ccaa8fd63ad5
parentda304ac37efc1900892b5067c65f0ab8acfe3955 (diff)
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>
-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 {
54static bool cs4349_readable_register(struct device *dev, unsigned int reg) 54static bool cs4349_readable_register(struct device *dev, unsigned int reg)
55{ 55{
56 switch (reg) { 56 switch (reg) {
57 case CS4349_CHIPID: 57 case CS4349_CHIPID ... CS4349_MISC:
58 case CS4349_MODE: 58 return true;
59 case CS4349_VMI: 59 default:
60 case CS4349_MUTE: 60 return false;
61 case CS4349_VOLA: 61 }
62 case CS4349_VOLB: 62}
63 case CS4349_RMPFLT: 63
64 case CS4349_MISC: 64static bool cs4349_writeable_register(struct device *dev, unsigned int reg)
65{
66 switch (reg) {
67 case CS4349_MODE ... CS4349_MISC:
65 return true; 68 return true;
66 default: 69 default:
67 return false; 70 return false;
@@ -270,6 +273,7 @@ static const struct regmap_config cs4349_regmap = {
270 .reg_defaults = cs4349_reg_defaults, 273 .reg_defaults = cs4349_reg_defaults,
271 .num_reg_defaults = ARRAY_SIZE(cs4349_reg_defaults), 274 .num_reg_defaults = ARRAY_SIZE(cs4349_reg_defaults),
272 .readable_reg = cs4349_readable_register, 275 .readable_reg = cs4349_readable_register,
276 .writeable_reg = cs4349_writeable_register,
273 .cache_type = REGCACHE_RBTREE, 277 .cache_type = REGCACHE_RBTREE,
274}; 278};
275 279