summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorBhalchandra Gajare <gajare@codeaurora.org>2016-08-01 16:23:32 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-08-02 20:21:27 -0700
commit3cf508f6463c649d79b8a8a808ad7a92d403e0e5 (patch)
treefbe47c8c910fde366320ccf31b5b5a3c95eb7ed1 /drivers
parentec9fd7cc51bcc302aefe26e4cbfc7f4e2590918d (diff)
mfd: wcd934x: Mark CPE registers as volatile
Currently only read-only registers are marked as volatile. It is possible that some registers could be read-write and still have subset of the bits that are updated by the hardware. Add change to mark such CPE (codec processing engine) register as volatile. CRs-Fixed: 1049012 Change-Id: I1cedf646d0df1ab5968df4830502649de305c9d1 Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mfd/wcd934x-regmap.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/mfd/wcd934x-regmap.c b/drivers/mfd/wcd934x-regmap.c
index 9a09f87d8472..398f0086537a 100644
--- a/drivers/mfd/wcd934x-regmap.c
+++ b/drivers/mfd/wcd934x-regmap.c
@@ -1848,6 +1848,15 @@ static bool wcd934x_is_volatile_register(struct device *dev, unsigned int reg)
if (reg_tbl && reg_tbl[reg_offset] == WCD934X_READ)
return true;
+ /*
+ * Need to mark volatile for registers that are writable but
+ * only few bits are read-only
+ */
+ switch (reg) {
+ case WCD934X_CPE_SS_SOC_SW_COLLAPSE_CTL:
+ return true;
+ }
+
return false;
}