Skip to content

Commit f58d4e5

Browse files
jonhunterrafaeljw
authored andcommitted
PM / Domains: Don't expose generic_pm_domain structure to clients
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 <[email protected]> Acked-by: Ulf Hansson <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
1 parent 3468c9d commit f58d4e5

File tree

2 files changed

+9
-24
lines changed

2 files changed

+9
-24
lines changed

drivers/base/power/domain.c

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ static DEFINE_MUTEX(gpd_list_lock);
4545
* and checks that the PM domain pointer is a real generic PM domain.
4646
* Any failure results in NULL being returned.
4747
*/
48-
struct generic_pm_domain *pm_genpd_lookup_dev(struct device *dev)
48+
static struct generic_pm_domain *genpd_lookup_dev(struct device *dev)
4949
{
5050
struct generic_pm_domain *genpd = NULL, *gpd;
5151

@@ -1119,7 +1119,7 @@ int pm_genpd_remove_device(struct generic_pm_domain *genpd,
11191119

11201120
dev_dbg(dev, "%s()\n", __func__);
11211121

1122-
if (!genpd || genpd != pm_genpd_lookup_dev(dev))
1122+
if (!genpd || genpd != genpd_lookup_dev(dev))
11231123
return -EINVAL;
11241124

11251125
/* The above validation also means we have existing domain_data. */
@@ -1466,7 +1466,7 @@ void of_genpd_del_provider(struct device_node *np)
14661466
EXPORT_SYMBOL_GPL(of_genpd_del_provider);
14671467

14681468
/**
1469-
* of_genpd_get_from_provider() - Look-up PM domain
1469+
* genpd_get_from_provider() - Look-up PM domain
14701470
* @genpdspec: OF phandle args to use for look-up
14711471
*
14721472
* 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);
14761476
* Returns a valid pointer to struct generic_pm_domain on success or ERR_PTR()
14771477
* on failure.
14781478
*/
1479-
struct generic_pm_domain *of_genpd_get_from_provider(
1479+
static struct generic_pm_domain *genpd_get_from_provider(
14801480
struct of_phandle_args *genpdspec)
14811481
{
14821482
struct generic_pm_domain *genpd = ERR_PTR(-ENOENT);
@@ -1499,7 +1499,6 @@ struct generic_pm_domain *of_genpd_get_from_provider(
14991499

15001500
return genpd;
15011501
}
1502-
EXPORT_SYMBOL_GPL(of_genpd_get_from_provider);
15031502

15041503
/**
15051504
* 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)
15131512
{
15141513
struct generic_pm_domain *genpd;
15151514

1516-
genpd = of_genpd_get_from_provider(genpdspec);
1515+
genpd = genpd_get_from_provider(genpdspec);
15171516
if (IS_ERR(genpd))
15181517
return PTR_ERR(genpd);
15191518

@@ -1535,11 +1534,11 @@ int of_genpd_add_subdomain(struct of_phandle_args *parent_spec,
15351534
{
15361535
struct generic_pm_domain *parent, *subdomain;
15371536

1538-
parent = of_genpd_get_from_provider(parent_spec);
1537+
parent = genpd_get_from_provider(parent_spec);
15391538
if (IS_ERR(parent))
15401539
return PTR_ERR(parent);
15411540

1542-
subdomain = of_genpd_get_from_provider(subdomain_spec);
1541+
subdomain = genpd_get_from_provider(subdomain_spec);
15431542
if (IS_ERR(subdomain))
15441543
return PTR_ERR(subdomain);
15451544

@@ -1561,7 +1560,7 @@ static void genpd_dev_pm_detach(struct device *dev, bool power_off)
15611560
unsigned int i;
15621561
int ret = 0;
15631562

1564-
pd = pm_genpd_lookup_dev(dev);
1563+
pd = genpd_lookup_dev(dev);
15651564
if (!pd)
15661565
return;
15671566

@@ -1642,7 +1641,7 @@ int genpd_dev_pm_attach(struct device *dev)
16421641
return -ENOENT;
16431642
}
16441643

1645-
pd = of_genpd_get_from_provider(&pd_args);
1644+
pd = genpd_get_from_provider(&pd_args);
16461645
of_node_put(pd_args.np);
16471646
if (IS_ERR(pd)) {
16481647
dev_dbg(dev, "%s() failed to find PM domain: %ld\n",

include/linux/pm_domain.h

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,6 @@ static inline struct generic_pm_domain_data *dev_gpd_data(struct device *dev)
116116
return to_gpd_data(dev->power.subsys_data->domain_data);
117117
}
118118

119-
extern struct generic_pm_domain *pm_genpd_lookup_dev(struct device *dev);
120119
extern int __pm_genpd_add_device(struct generic_pm_domain *genpd,
121120
struct device *dev,
122121
struct gpd_timing_data *td);
@@ -138,10 +137,6 @@ static inline struct generic_pm_domain_data *dev_gpd_data(struct device *dev)
138137
{
139138
return ERR_PTR(-ENOSYS);
140139
}
141-
static inline struct generic_pm_domain *pm_genpd_lookup_dev(struct device *dev)
142-
{
143-
return NULL;
144-
}
145140
static inline int __pm_genpd_add_device(struct generic_pm_domain *genpd,
146141
struct device *dev,
147142
struct gpd_timing_data *td)
@@ -199,9 +194,6 @@ typedef struct generic_pm_domain *(*genpd_xlate_t)(struct of_phandle_args *args,
199194
int __of_genpd_add_provider(struct device_node *np, genpd_xlate_t xlate,
200195
void *data);
201196
void of_genpd_del_provider(struct device_node *np);
202-
struct generic_pm_domain *of_genpd_get_from_provider(
203-
struct of_phandle_args *genpdspec);
204-
205197
struct generic_pm_domain *__of_genpd_xlate_simple(
206198
struct of_phandle_args *genpdspec,
207199
void *data);
@@ -222,12 +214,6 @@ static inline int __of_genpd_add_provider(struct device_node *np,
222214
}
223215
static inline void of_genpd_del_provider(struct device_node *np) {}
224216

225-
static inline struct generic_pm_domain *of_genpd_get_from_provider(
226-
struct of_phandle_args *genpdspec)
227-
{
228-
return NULL;
229-
}
230-
231217
#define __of_genpd_xlate_simple NULL
232218
#define __of_genpd_xlate_onecell NULL
233219

0 commit comments

Comments
 (0)