From: Jon Hunter <jonathanh@nvidia.com>
To: "Rafael J. Wysocki" <rjw@rjwysocki.net>,
Kevin Hilman <khilman@kernel.org>,
Ulf Hansson <ulf.hansson@linaro.org>
Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>,
linux-pm@vger.kernel.org, Alexander Aring <alex.aring@gmail.com>,
Jon Hunter <jonathanh@nvidia.com>, Eric Anholt <eric@anholt.net>,
Thierry Reding <thierry.reding@gmail.com>,
Kukjin Kim <kgene@kernel.org>,
linux-tegra@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: [PATCH 04/10] PM / Domains: Don't expose generic_pm_domain structure to clients
Date: Tue, 16 Aug 2016 10:49:30 +0100 [thread overview]
Message-ID: <1471340976-5379-5-git-send-email-jonathanh@nvidia.com> (raw)
In-Reply-To: <1471340976-5379-1-git-send-email-jonathanh@nvidia.com>
There should be no need to expose the generic_pm_domain structure to
clients and this eliminates the need to implement reference counting for
any external reference to a PM domain. Therefore, make the functions
pm_genpd_lookup_dev() and of_genpd_get_from_provider() private to the
PM domain core. The functions are renamed in accordance with the naming
conventions for genpd static functions.
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
---
drivers/base/power/domain.c | 19 +++++++++----------
include/linux/pm_domain.h | 14 --------------
2 files changed, 9 insertions(+), 24 deletions(-)
diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
index 43c2a959a7bf..7b0aecef2e51 100644
--- a/drivers/base/power/domain.c
+++ b/drivers/base/power/domain.c
@@ -45,7 +45,7 @@ static DEFINE_MUTEX(gpd_list_lock);
* and checks that the PM domain pointer is a real generic PM domain.
* Any failure results in NULL being returned.
*/
-struct generic_pm_domain *pm_genpd_lookup_dev(struct device *dev)
+static struct generic_pm_domain *genpd_lookup_dev(struct device *dev)
{
struct generic_pm_domain *genpd = NULL, *gpd;
@@ -1119,7 +1119,7 @@ int pm_genpd_remove_device(struct generic_pm_domain *genpd,
dev_dbg(dev, "%s()\n", __func__);
- if (!genpd || genpd != pm_genpd_lookup_dev(dev))
+ if (!genpd || genpd != genpd_lookup_dev(dev))
return -EINVAL;
/* The above validation also means we have existing domain_data. */
@@ -1466,7 +1466,7 @@ void of_genpd_del_provider(struct device_node *np)
EXPORT_SYMBOL_GPL(of_genpd_del_provider);
/**
- * of_genpd_get_from_provider() - Look-up PM domain
+ * genpd_get_from_provider() - Look-up PM domain
* @genpdspec: OF phandle args to use for look-up
*
* Looks for a PM domain provider under the node specified by @genpdspec and if
@@ -1476,7 +1476,7 @@ EXPORT_SYMBOL_GPL(of_genpd_del_provider);
* Returns a valid pointer to struct generic_pm_domain on success or ERR_PTR()
* on failure.
*/
-struct generic_pm_domain *of_genpd_get_from_provider(
+static struct generic_pm_domain *genpd_get_from_provider(
struct of_phandle_args *genpdspec)
{
struct generic_pm_domain *genpd = ERR_PTR(-ENOENT);
@@ -1499,7 +1499,6 @@ struct generic_pm_domain *of_genpd_get_from_provider(
return genpd;
}
-EXPORT_SYMBOL_GPL(of_genpd_get_from_provider);
/**
* of_genpd_add_device() - Add a device to an I/O PM domain
@@ -1513,7 +1512,7 @@ int of_genpd_add_device(struct of_phandle_args *genpdspec, struct device *dev)
{
struct generic_pm_domain *genpd;
- genpd = of_genpd_get_from_provider(genpdspec);
+ genpd = genpd_get_from_provider(genpdspec);
if (IS_ERR(genpd))
return PTR_ERR(genpd);
@@ -1535,11 +1534,11 @@ int of_genpd_add_subdomain(struct of_phandle_args *parent_spec,
{
struct generic_pm_domain *parent, *subdomain;
- parent = of_genpd_get_from_provider(parent_spec);
+ parent = genpd_get_from_provider(parent_spec);
if (IS_ERR(parent))
return PTR_ERR(parent);
- subdomain = of_genpd_get_from_provider(subdomain_spec);
+ subdomain = genpd_get_from_provider(subdomain_spec);
if (IS_ERR(subdomain))
return PTR_ERR(subdomain);
@@ -1561,7 +1560,7 @@ static void genpd_dev_pm_detach(struct device *dev, bool power_off)
unsigned int i;
int ret = 0;
- pd = pm_genpd_lookup_dev(dev);
+ pd = genpd_lookup_dev(dev);
if (!pd)
return;
@@ -1642,7 +1641,7 @@ int genpd_dev_pm_attach(struct device *dev)
return -ENOENT;
}
- pd = of_genpd_get_from_provider(&pd_args);
+ pd = genpd_get_from_provider(&pd_args);
of_node_put(pd_args.np);
if (IS_ERR(pd)) {
dev_dbg(dev, "%s() failed to find PM domain: %ld\n",
diff --git a/include/linux/pm_domain.h b/include/linux/pm_domain.h
index e1964a242389..bd411e754f4a 100644
--- a/include/linux/pm_domain.h
+++ b/include/linux/pm_domain.h
@@ -116,7 +116,6 @@ static inline struct generic_pm_domain_data *dev_gpd_data(struct device *dev)
return to_gpd_data(dev->power.subsys_data->domain_data);
}
-extern struct generic_pm_domain *pm_genpd_lookup_dev(struct device *dev);
extern int __pm_genpd_add_device(struct generic_pm_domain *genpd,
struct device *dev,
struct gpd_timing_data *td);
@@ -138,10 +137,6 @@ static inline struct generic_pm_domain_data *dev_gpd_data(struct device *dev)
{
return ERR_PTR(-ENOSYS);
}
-static inline struct generic_pm_domain *pm_genpd_lookup_dev(struct device *dev)
-{
- return NULL;
-}
static inline int __pm_genpd_add_device(struct generic_pm_domain *genpd,
struct device *dev,
struct gpd_timing_data *td)
@@ -199,9 +194,6 @@ typedef struct generic_pm_domain *(*genpd_xlate_t)(struct of_phandle_args *args,
int __of_genpd_add_provider(struct device_node *np, genpd_xlate_t xlate,
void *data);
void of_genpd_del_provider(struct device_node *np);
-struct generic_pm_domain *of_genpd_get_from_provider(
- struct of_phandle_args *genpdspec);
-
struct generic_pm_domain *__of_genpd_xlate_simple(
struct of_phandle_args *genpdspec,
void *data);
@@ -222,12 +214,6 @@ static inline int __of_genpd_add_provider(struct device_node *np,
}
static inline void of_genpd_del_provider(struct device_node *np) {}
-static inline struct generic_pm_domain *of_genpd_get_from_provider(
- struct of_phandle_args *genpdspec)
-{
- return NULL;
-}
-
#define __of_genpd_xlate_simple NULL
#define __of_genpd_xlate_onecell NULL
--
2.1.4
WARNING: multiple messages have this Message-ID (diff)
From: jonathanh@nvidia.com (Jon Hunter)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 04/10] PM / Domains: Don't expose generic_pm_domain structure to clients
Date: Tue, 16 Aug 2016 10:49:30 +0100 [thread overview]
Message-ID: <1471340976-5379-5-git-send-email-jonathanh@nvidia.com> (raw)
In-Reply-To: <1471340976-5379-1-git-send-email-jonathanh@nvidia.com>
There should be no need to expose the generic_pm_domain structure to
clients and this eliminates the need to implement reference counting for
any external reference to a PM domain. Therefore, make the functions
pm_genpd_lookup_dev() and of_genpd_get_from_provider() private to the
PM domain core. The functions are renamed in accordance with the naming
conventions for genpd static functions.
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
---
drivers/base/power/domain.c | 19 +++++++++----------
include/linux/pm_domain.h | 14 --------------
2 files changed, 9 insertions(+), 24 deletions(-)
diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
index 43c2a959a7bf..7b0aecef2e51 100644
--- a/drivers/base/power/domain.c
+++ b/drivers/base/power/domain.c
@@ -45,7 +45,7 @@ static DEFINE_MUTEX(gpd_list_lock);
* and checks that the PM domain pointer is a real generic PM domain.
* Any failure results in NULL being returned.
*/
-struct generic_pm_domain *pm_genpd_lookup_dev(struct device *dev)
+static struct generic_pm_domain *genpd_lookup_dev(struct device *dev)
{
struct generic_pm_domain *genpd = NULL, *gpd;
@@ -1119,7 +1119,7 @@ int pm_genpd_remove_device(struct generic_pm_domain *genpd,
dev_dbg(dev, "%s()\n", __func__);
- if (!genpd || genpd != pm_genpd_lookup_dev(dev))
+ if (!genpd || genpd != genpd_lookup_dev(dev))
return -EINVAL;
/* The above validation also means we have existing domain_data. */
@@ -1466,7 +1466,7 @@ void of_genpd_del_provider(struct device_node *np)
EXPORT_SYMBOL_GPL(of_genpd_del_provider);
/**
- * of_genpd_get_from_provider() - Look-up PM domain
+ * genpd_get_from_provider() - Look-up PM domain
* @genpdspec: OF phandle args to use for look-up
*
* Looks for a PM domain provider under the node specified by @genpdspec and if
@@ -1476,7 +1476,7 @@ EXPORT_SYMBOL_GPL(of_genpd_del_provider);
* Returns a valid pointer to struct generic_pm_domain on success or ERR_PTR()
* on failure.
*/
-struct generic_pm_domain *of_genpd_get_from_provider(
+static struct generic_pm_domain *genpd_get_from_provider(
struct of_phandle_args *genpdspec)
{
struct generic_pm_domain *genpd = ERR_PTR(-ENOENT);
@@ -1499,7 +1499,6 @@ struct generic_pm_domain *of_genpd_get_from_provider(
return genpd;
}
-EXPORT_SYMBOL_GPL(of_genpd_get_from_provider);
/**
* of_genpd_add_device() - Add a device to an I/O PM domain
@@ -1513,7 +1512,7 @@ int of_genpd_add_device(struct of_phandle_args *genpdspec, struct device *dev)
{
struct generic_pm_domain *genpd;
- genpd = of_genpd_get_from_provider(genpdspec);
+ genpd = genpd_get_from_provider(genpdspec);
if (IS_ERR(genpd))
return PTR_ERR(genpd);
@@ -1535,11 +1534,11 @@ int of_genpd_add_subdomain(struct of_phandle_args *parent_spec,
{
struct generic_pm_domain *parent, *subdomain;
- parent = of_genpd_get_from_provider(parent_spec);
+ parent = genpd_get_from_provider(parent_spec);
if (IS_ERR(parent))
return PTR_ERR(parent);
- subdomain = of_genpd_get_from_provider(subdomain_spec);
+ subdomain = genpd_get_from_provider(subdomain_spec);
if (IS_ERR(subdomain))
return PTR_ERR(subdomain);
@@ -1561,7 +1560,7 @@ static void genpd_dev_pm_detach(struct device *dev, bool power_off)
unsigned int i;
int ret = 0;
- pd = pm_genpd_lookup_dev(dev);
+ pd = genpd_lookup_dev(dev);
if (!pd)
return;
@@ -1642,7 +1641,7 @@ int genpd_dev_pm_attach(struct device *dev)
return -ENOENT;
}
- pd = of_genpd_get_from_provider(&pd_args);
+ pd = genpd_get_from_provider(&pd_args);
of_node_put(pd_args.np);
if (IS_ERR(pd)) {
dev_dbg(dev, "%s() failed to find PM domain: %ld\n",
diff --git a/include/linux/pm_domain.h b/include/linux/pm_domain.h
index e1964a242389..bd411e754f4a 100644
--- a/include/linux/pm_domain.h
+++ b/include/linux/pm_domain.h
@@ -116,7 +116,6 @@ static inline struct generic_pm_domain_data *dev_gpd_data(struct device *dev)
return to_gpd_data(dev->power.subsys_data->domain_data);
}
-extern struct generic_pm_domain *pm_genpd_lookup_dev(struct device *dev);
extern int __pm_genpd_add_device(struct generic_pm_domain *genpd,
struct device *dev,
struct gpd_timing_data *td);
@@ -138,10 +137,6 @@ static inline struct generic_pm_domain_data *dev_gpd_data(struct device *dev)
{
return ERR_PTR(-ENOSYS);
}
-static inline struct generic_pm_domain *pm_genpd_lookup_dev(struct device *dev)
-{
- return NULL;
-}
static inline int __pm_genpd_add_device(struct generic_pm_domain *genpd,
struct device *dev,
struct gpd_timing_data *td)
@@ -199,9 +194,6 @@ typedef struct generic_pm_domain *(*genpd_xlate_t)(struct of_phandle_args *args,
int __of_genpd_add_provider(struct device_node *np, genpd_xlate_t xlate,
void *data);
void of_genpd_del_provider(struct device_node *np);
-struct generic_pm_domain *of_genpd_get_from_provider(
- struct of_phandle_args *genpdspec);
-
struct generic_pm_domain *__of_genpd_xlate_simple(
struct of_phandle_args *genpdspec,
void *data);
@@ -222,12 +214,6 @@ static inline int __of_genpd_add_provider(struct device_node *np,
}
static inline void of_genpd_del_provider(struct device_node *np) {}
-static inline struct generic_pm_domain *of_genpd_get_from_provider(
- struct of_phandle_args *genpdspec)
-{
- return NULL;
-}
-
#define __of_genpd_xlate_simple NULL
#define __of_genpd_xlate_onecell NULL
--
2.1.4
next prev parent reply other threads:[~2016-08-16 9:49 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-16 9:49 [PATCH 00/10] PM / Domains: Add support for removing PM domains Jon Hunter
2016-08-16 9:49 ` Jon Hunter
2016-08-16 9:49 ` [PATCH 01/10] PM / Domains: Add new helper functions for device-tree Jon Hunter
2016-08-16 9:49 ` Jon Hunter
[not found] ` <1471340976-5379-2-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-09-08 11:34 ` Ulf Hansson
2016-09-08 11:34 ` Ulf Hansson
2016-08-16 9:49 ` [PATCH 02/10] ARM: EXYNOS: Remove calls to of_genpd_get_from_provider() Jon Hunter
2016-08-16 9:49 ` Jon Hunter
[not found] ` <1471340976-5379-3-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-08-16 19:26 ` Krzysztof Kozlowski
2016-08-16 19:26 ` Krzysztof Kozlowski
2016-09-08 11:35 ` Ulf Hansson
2016-09-08 11:35 ` Ulf Hansson
2016-08-16 9:49 ` [PATCH 03/10] staging: board: " Jon Hunter
2016-08-16 9:49 ` Jon Hunter
[not found] ` <1471340976-5379-4-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-09-08 11:35 ` Ulf Hansson
2016-09-08 11:35 ` Ulf Hansson
2016-08-16 9:49 ` Jon Hunter [this message]
2016-08-16 9:49 ` [PATCH 04/10] PM / Domains: Don't expose generic_pm_domain structure to clients Jon Hunter
2016-09-08 11:35 ` Ulf Hansson
2016-09-08 11:35 ` Ulf Hansson
2016-08-16 9:49 ` [PATCH 05/10] PM / Domains: Don't expose xlate and provider helper functions Jon Hunter
2016-08-16 9:49 ` Jon Hunter
[not found] ` <1471340976-5379-6-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-09-08 11:36 ` Ulf Hansson
2016-09-08 11:36 ` Ulf Hansson
2016-08-16 9:49 ` [PATCH 07/10] PM / Domains: Prepare for adding support to remove PM domains Jon Hunter
2016-08-16 9:49 ` Jon Hunter
2016-09-08 11:41 ` Ulf Hansson
2016-09-08 11:41 ` Ulf Hansson
2016-08-16 9:49 ` [PATCH 08/10] PM / Domains: Add support for removing " Jon Hunter
2016-08-16 9:49 ` Jon Hunter
2016-09-08 11:49 ` Ulf Hansson
2016-09-08 11:49 ` Ulf Hansson
[not found] ` <CAPDyKFrVO9wb3ffmxA7HUUDt1_aYxe=aqa1v+xNpdrYiLt_m0A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-09-09 13:54 ` Jon Hunter
2016-09-09 13:54 ` Jon Hunter
[not found] ` <c8498eca-6934-1cab-31d9-3d8ce4c74897-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-09-09 15:17 ` Jon Hunter
2016-09-09 15:17 ` Jon Hunter
[not found] ` <63871fe6-cda6-2a95-9c09-e4b3ebfa3419-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-09-12 7:21 ` Ulf Hansson
2016-09-12 7:21 ` Ulf Hansson
2016-09-12 7:26 ` Jon Hunter
2016-09-12 7:26 ` Jon Hunter
2016-08-16 9:49 ` [PATCH 09/10] PM / Domains: Store the provider in the PM domain structure Jon Hunter
2016-08-16 9:49 ` Jon Hunter
2016-09-08 11:56 ` Ulf Hansson
2016-09-08 11:56 ` Ulf Hansson
[not found] ` <CAPDyKFp+93=CrmgLNx1ritm1Dm=eWFJn=vbuzAUb9VmWc4j1fg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-09-09 13:57 ` Jon Hunter
2016-09-09 13:57 ` Jon Hunter
[not found] ` <73870e28-3600-8a84-7659-55d4a8320a1d-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-09-09 14:25 ` Ulf Hansson
2016-09-09 14:25 ` Ulf Hansson
2016-08-16 9:49 ` [PATCH 10/10] PM / Domains: Add support for removing nested PM domains by provider Jon Hunter
2016-08-16 9:49 ` Jon Hunter
2016-09-08 12:30 ` Ulf Hansson
2016-09-08 12:30 ` Ulf Hansson
2016-09-09 14:04 ` Jon Hunter
2016-09-09 14:04 ` Jon Hunter
[not found] ` <f31e57aa-52aa-d340-ca2b-73dbdf769035-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-09-09 14:21 ` Ulf Hansson
2016-09-09 14:21 ` Ulf Hansson
[not found] ` <1471340976-5379-1-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-08-16 9:49 ` [PATCH 06/10] PM / Domains: Verify the PM domain is present when adding a provider Jon Hunter
2016-08-16 9:49 ` Jon Hunter
2016-09-08 11:39 ` Ulf Hansson
2016-09-08 11:39 ` Ulf Hansson
2016-09-09 9:41 ` Jon Hunter
2016-09-09 9:41 ` Jon Hunter
2016-08-26 13:12 ` [PATCH 00/10] PM / Domains: Add support for removing PM domains Jon Hunter
2016-08-26 13:12 ` Jon Hunter
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=1471340976-5379-5-git-send-email-jonathanh@nvidia.com \
--to=jonathanh@nvidia.com \
--cc=alex.aring@gmail.com \
--cc=eric@anholt.net \
--cc=k.kozlowski@samsung.com \
--cc=kgene@kernel.org \
--cc=khilman@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=rjw@rjwysocki.net \
--cc=thierry.reding@gmail.com \
--cc=ulf.hansson@linaro.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.