From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tushar Behera Subject: [PATCH 1/2] PM / Domains: Add pd_ignore_unused to keep power domains enabled Date: Fri, 28 Mar 2014 10:50:21 +0530 Message-ID: <1395984022-8284-2-git-send-email-tushar.behera@linaro.org> References: <1395984022-8284-1-git-send-email-tushar.behera@linaro.org> Return-path: In-Reply-To: <1395984022-8284-1-git-send-email-tushar.behera@linaro.org> Sender: linux-kernel-owner@vger.kernel.org To: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Cc: rob@landley.net, olof@lixom.net, "Rafael J. Wysocki" , linux-pm@vger.kernel.org List-Id: linux-pm@vger.kernel.org Keep all power-domains already enabled by bootloader on, even if no driver has claimed them. This is useful for debug and development, but should not be needed on a platform with proper driver support. Signed-off-by: Tushar Behera CC: "Rafael J. Wysocki" CC: linux-pm@vger.kernel.org --- Documentation/kernel-parameters.txt | 7 +++++++ drivers/base/power/domain.c | 13 +++++++++++++ 2 files changed, 20 insertions(+) diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 50a001a..96bb532 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt @@ -2557,6 +2557,13 @@ bytes respectively. Such letter suffixes can also be entirely omitted. pcmv= [HW,PCMCIA] BadgePAD 4 + pd_ignore_unused + [PM] + Keep all power-domains already enabled by bootloader on, + even if no driver has claimed them. This is useful + for debug and development, but should not be + needed on a platform with proper driver support. + pd. [PARIDE] See Documentation/blockdev/paride.txt. diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c index 6f54962..ae098a2 100644 --- a/drivers/base/power/domain.c +++ b/drivers/base/power/domain.c @@ -705,6 +705,14 @@ static int pm_genpd_runtime_resume(struct device *dev) return 0; } +static bool pd_ignore_unused; +static int __init pd_ignore_unused_setup(char *__unused) +{ + pd_ignore_unused = true; + return 1; +} +__setup("pd_ignore_unused", pd_ignore_unused_setup); + /** * pm_genpd_poweroff_unused - Power off all PM domains with no devices in use. */ @@ -712,6 +720,11 @@ void pm_genpd_poweroff_unused(void) { struct generic_pm_domain *genpd; + if (pd_ignore_unused) { + pr_warn("genpd: Not disabling unused power domains\n"); + return; + } + mutex_lock(&gpd_list_lock); list_for_each_entry(genpd, &gpd_list, gpd_list_node) -- 1.7.9.5