diff options
author | Axel Lin <axel.lin@ingics.com> | 2015-07-18 21:14:23 -0400 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-07-20 13:18:46 -0400 |
commit | 0443de7e7e559eab7df2566d0e46940f753db51d (patch) | |
tree | 6902ccb157f2d80f5457d3fa2f39ccaa8fd63ad5 | |
parent | da304ac37efc1900892b5067c65f0ab8acfe3955 (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.c | 20 |
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 { | |||
54 | static bool cs4349_readable_register(struct device *dev, unsigned int reg) | 54 | static 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: | 64 | static 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 | ||