From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Rafael J. Wysocki" Date: Thu, 17 Nov 2011 20:16:07 +0000 Subject: Re: [PATCH] PM Sleep: Don't extend wakeup paths to devices with ignore_children set Message-Id: <201111172116.07326.rjw@sisk.pl> List-Id: References: <201111162321.58572.rjw@sisk.pl> <20111116235227.GB14252@suse.de> In-Reply-To: <20111116235227.GB14252@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Greg KH Cc: Linux PM list , Linux-sh list , LKML , Magnus Damm On Thursday, November 17, 2011, Greg KH wrote: > On Wed, Nov 16, 2011 at 11:21:58PM +0100, Rafael J. Wysocki wrote: > > From: Rafael J. Wysocki > > > > Commit 4ca46ff3e0d8c234cb40ebb6457653b59584426c (PM / Sleep: Mark > > devices involved in wakeup signaling during suspend) introduced > > the power.wakeup_path field in struct dev_pm_info to mark devices > > whose children are enabled to wake up the system from sleep states, > > so that power domains containing the parents that provide their > > children with wakeup power and/or relay their wakeup signals are not > > turned off. Unfortunately, that introduced a PM regression on SH7372 > > whose power consumption in the system "memory sleep" state increased > > as a result of it, because it prevented the power domain containing > > the I2C controller from being turned off when some children of that > > controller were enabled to wake up the system, although the > > controller was not necessary for them to signal wakeup. > > > > To fix this issue use the observation that devices whose > > power.ignore_children flag is set for runtime PM should be treated > > analogously during system suspend. Namely, they shouldn't be > > included in wakeup paths going through their children. Since the > > SH7372 I2C controller's power.ignore_children flag is set, doing so > > will restore the previous behavior of that SOC. > > > > Signed-off-by: Rafael J. Wysocki > > Acked-by: Greg Kroah-Hartman Thanks!