From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752265AbbJFHIV (ORCPT ); Tue, 6 Oct 2015 03:08:21 -0400 Received: from relay1.mentorg.com ([192.94.38.131]:47411 "EHLO relay1.mentorg.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751497AbbJFHIP (ORCPT ); Tue, 6 Oct 2015 03:08:15 -0400 From: Jiada Wang To: , , , , , , CC: Subject: [PATCH 1/2] ASoC: WM8962: mark cache_dirty flag after software reset in pm_resume Date: Tue, 6 Oct 2015 16:06:54 +0900 Message-ID: <1444115215-4388-2-git-send-email-jiada_wang@mentor.com> X-Mailer: git-send-email 2.4.5 In-Reply-To: <1444115215-4388-1-git-send-email-jiada_wang@mentor.com> References: <1444115215-4388-1-git-send-email-jiada_wang@mentor.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 --- 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