[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