[alsa-devel] [PATCH 1/2] ASoC: WM8962: mark cache_dirty flag after software reset in pm_resume

Jiada Wang jiada_wang at mentor.com
Tue Oct 6 09:06:54 CEST 2015


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 at mentor.com>
---
 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



More information about the Alsa-devel mailing list