From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Linux PM list <linux-pm@vger.kernel.org>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>,
LKML <linux-kernel@vger.kernel.org>,
Matthew Garrett <mjg59@srcf.ucam.org>,
Magnus Damm <magnus.damm@gmail.com>,
Arnd Bergmann <arnd@arndb.de>,
Grant Likely <grant.likely@secretlab.ca>,
Linux-sh list <linux-sh@vger.kernel.org>
Subject: [RFC][PATCH 13/14] PM / Domains: Introduce pm_genpd_present()
Date: Mon, 16 Jul 2012 21:30:59 +0000 [thread overview]
Message-ID: <201207162331.00295.rjw@sisk.pl> (raw)
In-Reply-To: <201207162315.49073.rjw@sisk.pl>
From: Rafael J. Wysocki <rjw@sisk.pl>
Introduce function pm_genpd_present() allowing the caller to check if
the given generic PM domain has been initialized.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
---
drivers/base/power/domain.c | 22 ++++++++++++++++++++++
include/linux/pm_domain.h | 5 +++++
2 files changed, 27 insertions(+)
Index: linux/drivers/base/power/domain.c
=================================--- linux.orig/drivers/base/power/domain.c
+++ linux/drivers/base/power/domain.c
@@ -2089,3 +2089,25 @@ void pm_genpd_init(struct generic_pm_dom
list_add(&genpd->gpd_list_node, &gpd_list);
mutex_unlock(&gpd_list_lock);
}
+
+/**
+ * pm_genpd_present - Check if the given PM domain has been initialized
+ * @genpd: PM domain to check.
+ */
+bool pm_genpd_present(struct generic_pm_domain *genpd)
+{
+ struct generic_pm_domain *gpd = NULL;
+
+ if (IS_ERR_OR_NULL(genpd))
+ return false;
+
+ mutex_lock(&gpd_list_lock);
+
+ list_for_each_entry(gpd, &gpd_list, gpd_list_node)
+ if (gpd = genpd)
+ break;
+
+ mutex_unlock(&gpd_list_lock);
+
+ return gpd = genpd;
+}
Index: linux/include/linux/pm_domain.h
=================================--- linux.orig/include/linux/pm_domain.h
+++ linux/include/linux/pm_domain.h
@@ -161,6 +161,7 @@ extern int genpd_attach_cpuidle(struct g
extern int genpd_detach_cpuidle(struct generic_pm_domain *genpd);
extern void pm_genpd_init(struct generic_pm_domain *genpd,
struct dev_power_governor *gov, bool is_off);
+extern bool pm_genpd_present(struct generic_pm_domain *genpd);
extern int pm_genpd_poweron(struct generic_pm_domain *genpd);
extern int pm_genpd_name_poweron(const char *domain_name);
@@ -239,6 +240,10 @@ static inline void pm_genpd_init(struct
struct dev_power_governor *gov, bool is_off)
{
}
+static inline bool pm_genpd_present(struct generic_pm_domain *genpd)
+{
+ return false;
+}
static inline int pm_genpd_poweron(struct generic_pm_domain *genpd)
{
return -ENOSYS;
WARNING: multiple messages have this Message-ID (diff)
From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Linux PM list <linux-pm@vger.kernel.org>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>,
LKML <linux-kernel@vger.kernel.org>,
Matthew Garrett <mjg59@srcf.ucam.org>,
Magnus Damm <magnus.damm@gmail.com>,
Arnd Bergmann <arnd@arndb.de>,
Grant Likely <grant.likely@secretlab.ca>,
"Linux-sh list" <linux-sh@vger.kernel.org>
Subject: [RFC][PATCH 13/14] PM / Domains: Introduce pm_genpd_present()
Date: Mon, 16 Jul 2012 23:30:59 +0200 [thread overview]
Message-ID: <201207162331.00295.rjw@sisk.pl> (raw)
In-Reply-To: <201207162315.49073.rjw@sisk.pl>
From: Rafael J. Wysocki <rjw@sisk.pl>
Introduce function pm_genpd_present() allowing the caller to check if
the given generic PM domain has been initialized.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
---
drivers/base/power/domain.c | 22 ++++++++++++++++++++++
include/linux/pm_domain.h | 5 +++++
2 files changed, 27 insertions(+)
Index: linux/drivers/base/power/domain.c
===================================================================
--- linux.orig/drivers/base/power/domain.c
+++ linux/drivers/base/power/domain.c
@@ -2089,3 +2089,25 @@ void pm_genpd_init(struct generic_pm_dom
list_add(&genpd->gpd_list_node, &gpd_list);
mutex_unlock(&gpd_list_lock);
}
+
+/**
+ * pm_genpd_present - Check if the given PM domain has been initialized
+ * @genpd: PM domain to check.
+ */
+bool pm_genpd_present(struct generic_pm_domain *genpd)
+{
+ struct generic_pm_domain *gpd = NULL;
+
+ if (IS_ERR_OR_NULL(genpd))
+ return false;
+
+ mutex_lock(&gpd_list_lock);
+
+ list_for_each_entry(gpd, &gpd_list, gpd_list_node)
+ if (gpd == genpd)
+ break;
+
+ mutex_unlock(&gpd_list_lock);
+
+ return gpd == genpd;
+}
Index: linux/include/linux/pm_domain.h
===================================================================
--- linux.orig/include/linux/pm_domain.h
+++ linux/include/linux/pm_domain.h
@@ -161,6 +161,7 @@ extern int genpd_attach_cpuidle(struct g
extern int genpd_detach_cpuidle(struct generic_pm_domain *genpd);
extern void pm_genpd_init(struct generic_pm_domain *genpd,
struct dev_power_governor *gov, bool is_off);
+extern bool pm_genpd_present(struct generic_pm_domain *genpd);
extern int pm_genpd_poweron(struct generic_pm_domain *genpd);
extern int pm_genpd_name_poweron(const char *domain_name);
@@ -239,6 +240,10 @@ static inline void pm_genpd_init(struct
struct dev_power_governor *gov, bool is_off)
{
}
+static inline bool pm_genpd_present(struct generic_pm_domain *genpd)
+{
+ return false;
+}
static inline int pm_genpd_poweron(struct generic_pm_domain *genpd)
{
return -ENOSYS;
next prev parent reply other threads:[~2012-07-16 21:30 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-03 21:02 [RFD] PM: Device tree representation of power domains Rafael J. Wysocki
2012-07-04 11:56 ` Mark Brown
2012-07-05 20:17 ` Rafael J. Wysocki
2012-07-16 21:15 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device tre Rafael J. Wysocki
2012-07-16 21:15 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device tree representation of power domains) Rafael J. Wysocki
2012-07-16 21:17 ` [RFC][PATCH 1/14] PM / Domains: Make it possible to use domain names when adding devices Rafael J. Wysocki
2012-07-16 21:17 ` Rafael J. Wysocki
2012-07-16 21:18 ` [RFC][PATCH 2/14] ARM: shmobile: Use names of power domains for adding devices to them Rafael J. Wysocki
2012-07-16 21:18 ` Rafael J. Wysocki
2012-07-16 21:19 ` [RFC][PATCH 3/14] ARM: shmobile: Drop r8a7779_add_device_to_domain() Rafael J. Wysocki
2012-07-16 21:19 ` Rafael J. Wysocki
2012-07-16 21:20 ` [RFC][PATCH 4/14] PM / Domains: Make it possible to use names when adding subdomains Rafael J. Wysocki
2012-07-16 21:20 ` Rafael J. Wysocki
2012-07-16 21:21 ` [RFC][PATCH 5/14] ARM: shmobile: Use domain names when adding subdomains to power domains Rafael J. Wysocki
2012-07-16 21:21 ` Rafael J. Wysocki
2012-07-16 21:23 ` [RFC][PATCH 6/14] RM: shmobile: Add routine for automatic PM domains initialization Rafael J. Wysocki
2012-07-16 21:23 ` Rafael J. Wysocki
2012-07-16 21:24 ` [RFC][PATCH 7/14] ARM: shmobile: Remove dead sh7372 power management code Rafael J. Wysocki
2012-07-16 21:24 ` Rafael J. Wysocki
2012-07-16 21:25 ` [RFC][PATCH 8/14] PM / Domains: Add power-on function using names to identify domains Rafael J. Wysocki
2012-07-16 21:25 ` Rafael J. Wysocki
2012-07-16 21:26 ` [RFC][PATCH 9/14] ARM: shmobile: Move sh7372's PM domain objects to a table Rafael J. Wysocki
2012-07-16 21:26 ` Rafael J. Wysocki
2012-07-16 21:27 ` [RFC][PATCH 10/14] ARM: shmobile: Move r8a7740's " Rafael J. Wysocki
2012-07-16 21:27 ` Rafael J. Wysocki
2012-07-16 21:28 ` [RFC][PATCH 11/14] ARM: shmobile: Move r8a7779's " Rafael J. Wysocki
2012-07-16 21:28 ` Rafael J. Wysocki
2012-07-16 21:29 ` [RFC][PATCH 12/14] ARM: shmobile: Make rmobile_init_pm_domain() static Rafael J. Wysocki
2012-07-16 21:29 ` Rafael J. Wysocki
2012-07-16 21:30 ` Rafael J. Wysocki [this message]
2012-07-16 21:30 ` [RFC][PATCH 13/14] PM / Domains: Introduce pm_genpd_present() Rafael J. Wysocki
2012-07-16 21:32 ` [RFC][PATCH 14/14] ARM: shmobile: Add support for storing PM domain information in DTs Rafael J. Wysocki
2012-07-16 21:32 ` Rafael J. Wysocki
2012-07-21 17:17 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device Rafael J. Wysocki
2012-07-21 17:17 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device tree representation of power domains) Rafael J. Wysocki
2012-07-24 15:20 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device Arnd Bergmann
2012-07-24 15:20 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device tree representation of power domains) Arnd Bergmann
2012-07-24 19:34 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device Rafael J. Wysocki
2012-07-24 19:34 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device tree representation of power domains) Rafael J. Wysocki
2012-07-24 19:56 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device Arnd Bergmann
2012-07-24 19:56 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device tree representation of power domains) Arnd Bergmann
2012-07-24 20:37 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device Rafael J. Wysocki
2012-07-24 20:37 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device tree representation of power domains) Rafael J. Wysocki
2012-07-25 9:29 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device Rafael J. Wysocki
2012-07-25 9:29 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device tree representation of power domains) Rafael J. Wysocki
2012-07-25 13:00 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device Arnd Bergmann
2012-07-25 13:00 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device tree representation of power domains) Arnd Bergmann
[not found] ` <201207251300.34892.arnd-r2nGTMty4D4@public.gmane.org>
2012-07-25 22:32 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device Rafael J. Wysocki
2012-07-25 22:32 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device tree representation of power domains) Rafael J. Wysocki
2012-07-25 22:32 ` Rafael J. Wysocki
2012-07-26 0:38 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device Kevin Hilman
2012-07-26 0:38 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device tree representation of power domains) Kevin Hilman
[not found] ` <87vchb4ar8.fsf-l0cyMroinI0@public.gmane.org>
2012-07-26 20:55 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device Rafael J. Wysocki
2012-07-26 20:55 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device tree representation of power domains) Rafael J. Wysocki
2012-07-26 20:55 ` Rafael J. Wysocki
2012-07-26 21:09 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device Mark Brown
2012-07-26 21:09 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device tree representation of power domains) Mark Brown
2012-07-26 21:34 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device Rafael J. Wysocki
2012-07-26 21:34 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device tree representation of power domains) Rafael J. Wysocki
2012-07-26 21:45 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device Kevin Hilman
2012-07-26 21:45 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device tree representation of power domains) Kevin Hilman
2012-07-26 21:55 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device Mark Brown
2012-07-26 21:55 ` [RFC][PATCH 0/14] PM / shmobile: Pass power domain information via DT (was: Re: [RFD] PM: Device tree representation of power domains) Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201207162331.00295.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=arnd@arndb.de \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=grant.likely@secretlab.ca \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=magnus.damm@gmail.com \
--cc=mjg59@srcf.ucam.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.