From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755469Ab2BLOux (ORCPT ); Sun, 12 Feb 2012 09:50:53 -0500 Received: from e23smtp01.au.ibm.com ([202.81.31.143]:50965 "EHLO e23smtp01.au.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755225Ab2BLOuv (ORCPT ); Sun, 12 Feb 2012 09:50:51 -0500 Message-ID: <4F37D1AF.5070700@linux.vnet.ibm.com> Date: Sun, 12 Feb 2012 20:20:23 +0530 From: "Srivatsa S. Bhat" User-Agent: Mozilla/5.0 (X11; Linux i686; rv:9.0) Gecko/20111222 Thunderbird/9.0 MIME-Version: 1.0 To: "Rafael J. Wysocki" CC: Linux PM list , LKML , Randy Dunlap Subject: Re: [PATCH 2/3] PM / Sleep: Make enter_state() in kernel/power/suspend.c static References: <201202120003.20879.rjw@sisk.pl> <201202120004.48991.rjw@sisk.pl> In-Reply-To: <201202120004.48991.rjw@sisk.pl> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit x-cbid: 12021204-1618-0000-0000-000000C80B35 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 02/12/2012 04:34 AM, Rafael J. Wysocki wrote: > From: Rafael J. Wysocki > > The enter_state() function in kernel/power/suspend.c should be > static and state_store() in kernel/power/suspend.c should call > pm_suspend() instead of it, so make that happen (which also reduces > code duplication related to suspend statistics). > > Signed-off-by: Rafael J. Wysocki > --- > kernel/power/main.c | 6 +----- > kernel/power/power.h | 2 -- > kernel/power/suspend.c | 2 +- > 3 files changed, 2 insertions(+), 8 deletions(-) > > Index: linux/kernel/power/main.c > =================================================================== > --- linux.orig/kernel/power/main.c > +++ linux/kernel/power/main.c > @@ -292,11 +292,7 @@ static ssize_t state_store(struct kobjec > #ifdef CONFIG_SUSPEND > for (s = &pm_states[state]; state < PM_SUSPEND_MAX; s++, state++) { > if (*s && len == strlen(*s) && !strncmp(buf, *s, len)) > - break; > - } > - if (state < PM_SUSPEND_MAX && *s) { > - error = enter_state(state); > - suspend_stats_update(error); > + error = pm_suspend(state); This code will not stop after calling pm_suspend(). It will try more iterations in the for loop right? We can probably keep the 'for' loop as it is, and just replace the 'if' block following the 'for' loop by: error = pm_suspend(state); Regards, Srivatsa S. Bhat