[PATCH 1/2] ASoC: WM8962: mark cache_dirty flag after software reset in pm_resume
From: Jiada Wang
Date: Tue Oct 06 2015 - 03:08:24 EST
By doing software reset of wm8962 in pm_resume, all registers which
have already been set will be reset to default value without regmap
interface be involved, thus driver need to mark cache_dirty flag,
to let regcache can be updated by regcache_sync().
Signed-off-by: Jiada Wang <jiada_wang@xxxxxxxxxx>
---
sound/soc/codecs/wm8962.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c
index 293e47a..319ee38 100644
--- a/sound/soc/codecs/wm8962.c
+++ b/sound/soc/codecs/wm8962.c
@@ -3805,6 +3805,13 @@ static int wm8962_runtime_resume(struct device *dev)
wm8962_reset(wm8962);
+ /* All registers have been reset to default value without calling
+ * to regmap interface, even if reset fails, some registers
+ * maybe in intermediate status, so we need to mark regmap
+ * cache_dirty flag.
+ */
+ regcache_mark_dirty(wm8962->regmap);
+
/* SYSCLK defaults to on; make sure it is off so we can safely
* write to registers if the device is declocked.
*/
--
2.4.5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/