aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorViresh Kumar <viresh.kumar@linaro.org>2017-03-17 01:56:19 -0400
committerViresh Kumar <viresh.kumar@linaro.org>2018-05-09 00:45:19 -0400
commit401ea1572de944df548a13eded82339491a739ff (patch)
treea261c4df9dbd0bc419ee64d720c904943e1cedcd
parente2f4b5f8dc59c28605a320ea923905e519fd2ca7 (diff)
PM / Domain: Add struct device to genpd
The power-domain core would be using the OPP core going forward and the OPP core has the basic requirement of a device structure for its working. Add a struct device to the genpd structure. This doesn't register the device with device core as the "dev" pointer is mostly used by the OPP core as a cookie for now and registering the device is not mandatory. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
-rw-r--r--drivers/base/power/domain.c3
-rw-r--r--include/linux/pm_domain.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
index 1ea0e2502e8e..4a3dc9cc0848 100644
--- a/drivers/base/power/domain.c
+++ b/drivers/base/power/domain.c
@@ -1696,6 +1696,9 @@ int pm_genpd_init(struct generic_pm_domain *genpd,
1696 return ret; 1696 return ret;
1697 } 1697 }
1698 1698
1699 device_initialize(&genpd->dev);
1700 dev_set_name(&genpd->dev, "%s", genpd->name);
1701
1699 mutex_lock(&gpd_list_lock); 1702 mutex_lock(&gpd_list_lock);
1700 list_add(&genpd->gpd_list_node, &gpd_list); 1703 list_add(&genpd->gpd_list_node, &gpd_list);
1701 mutex_unlock(&gpd_list_lock); 1704 mutex_unlock(&gpd_list_lock);
diff --git a/include/linux/pm_domain.h b/include/linux/pm_domain.h
index 04dbef9847d3..aaacaa35005d 100644
--- a/include/linux/pm_domain.h
+++ b/include/linux/pm_domain.h
@@ -49,6 +49,7 @@ struct genpd_power_state {
49struct genpd_lock_ops; 49struct genpd_lock_ops;
50 50
51struct generic_pm_domain { 51struct generic_pm_domain {
52 struct device dev;
52 struct dev_pm_domain domain; /* PM domain operations */ 53 struct dev_pm_domain domain; /* PM domain operations */
53 struct list_head gpd_list_node; /* Node in the global PM domains list */ 54 struct list_head gpd_list_node; /* Node in the global PM domains list */
54 struct list_head master_links; /* Links with PM domain as a master */ 55 struct list_head master_links; /* Links with PM domain as a master */