From patchwork Tue Nov 16 10:18:17 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Walmsley X-Patchwork-Id: 327452 X-Patchwork-Delegate: paul@pwsan.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id oAGAJNJD013564 for ; Tue, 16 Nov 2010 10:19:24 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934134Ab0KPKTR (ORCPT ); Tue, 16 Nov 2010 05:19:17 -0500 Received: from utopia.booyaka.com ([72.9.107.138]:51545 "EHLO utopia.booyaka.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934201Ab0KPKTP (ORCPT ); Tue, 16 Nov 2010 05:19:15 -0500 Received: (qmail 22153 invoked by uid 1019); 16 Nov 2010 10:19:11 -0000 MBOX-Line: From nobody Tue Nov 16 03:18:17 2010 Subject: [PATCH 8/8] OMAP2+: hwmod: Update the sysc_cache in case module context is lost To: linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org From: Paul Walmsley Cc: Kevin Hilman , Rajendra Nayak , Santosh Shilimkar , Benoit Cousson Date: Tue, 16 Nov 2010 03:18:17 -0700 Message-ID: <20101116101812.22777.51753.stgit@twilight.localdomain> In-Reply-To: <20101116101615.22777.49212.stgit@twilight.localdomain> References: <20101116101615.22777.49212.stgit@twilight.localdomain> User-Agent: StGit/0.15 MIME-Version: 1.0 Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter1.kernel.org [140.211.167.41]); Tue, 16 Nov 2010 10:19:24 +0000 (UTC) diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c index 589c282..8a9847e 100644 --- a/arch/arm/mach-omap2/omap_hwmod.c +++ b/arch/arm/mach-omap2/omap_hwmod.c @@ -211,10 +211,9 @@ static void _write_sysconfig(u32 v, struct omap_hwmod *oh) /* XXX ensure module interface clock is up */ - if (oh->_sysc_cache != v) { - oh->_sysc_cache = v; - omap_hwmod_write(v, oh, oh->class->sysc->sysc_offs); - } + /* Module might have lost context, always update cache and register */ + oh->_sysc_cache = v; + omap_hwmod_write(v, oh, oh->class->sysc->sysc_offs); } /**