Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932584AbbEHUd5 (ORCPT ); Fri, 8 May 2015 16:33:57 -0400 Received: from mail-pa0-f52.google.com ([209.85.220.52]:35081 "EHLO mail-pa0-f52.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932348AbbEHUdj (ORCPT ); Fri, 8 May 2015 16:33:39 -0400 From: Kevin Hilman To: Tomeu Vizoso Cc: linux-kernel@vger.kernel.org, Alan Stern , Laurent Pinchart , Dmitry Torokhov , "Rafael J. Wysocki" , Len Brown , Pavel Machek , Greg Kroah-Hartman , linux-pm@vger.kernel.org Subject: Re: [PATCH] PM / sleep: Let devices force direct_complete References: <1430474611-25560-1-git-send-email-tomeu.vizoso@collabora.com> Date: Fri, 08 May 2015 13:33:36 -0700 In-Reply-To: <1430474611-25560-1-git-send-email-tomeu.vizoso@collabora.com> (Tomeu Vizoso's message of "Fri, 1 May 2015 12:03:30 +0200") Message-ID: <7hioc2hkrj.fsf@deeprootsystems.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) 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 Content-Length: 2418 Lines: 58 Tomeu Vizoso writes: > Introduce a new per-device flag power.force_direct_complete that will > instruct the PM core to let that device remain in runtime suspend when > the system goes into a sleep power state, regardless of the PM state of > any of its descendants. > > This is needed because otherwise it would be needed to get dozens of > drivers to implement the prepare() callback and be runtime PM active > even if they don't have a 1-to-1 relationship with a piece of HW. > > This only applies to devices that aren't wakeup-capable, as those would > need to setup their IRQs as wakeup-capable in their prepare() callbacks. > > Signed-off-by: Tomeu Vizoso > --- > > Hi, > > I'm sending this as a standalone patch as suggested by Alan. > > Thanks, > > Tomeu > > --- > Documentation/power/runtime_pm.txt | 10 ++++++++++ > drivers/base/power/main.c | 14 ++++++++++---- > include/linux/pm.h | 1 + > 3 files changed, 21 insertions(+), 4 deletions(-) > > diff --git a/Documentation/power/runtime_pm.txt b/Documentation/power/runtime_pm.txt > index 44fe1d2..3b0c68d 100644 > --- a/Documentation/power/runtime_pm.txt > +++ b/Documentation/power/runtime_pm.txt > @@ -665,6 +665,16 @@ as appropriate. This only applies to system suspend transitions that are not > related to hibernation (see Documentation/power/devices.txt for more > information). > > +For devices that know that can remain runtime suspended when the system s/that know that/that know they/ ? > +transitions to a sleep state regardless of the PM state of their descendants, > +the flag power.force_direct_complete can be set on their device structures. > +This can be useful when a real device has several virtual devices as > +descendants and it would be very cumbersome to make sure that they return a > +positive value in their .prepare() callback and have runtime PM enabled. Usage > +of power.force_direct_complete is only allowed to devices that aren't > +wakeup-capable, as they would need to set their IRQs as wakeups in their > +.prepare() callbacks before the system transitions to a sleep state. Kevin -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/