PM / Domain: Add struct device to genpd
authorViresh Kumar <viresh.kumar@linaro.org>
Fri, 17 Mar 2017 05:56:19 +0000 (11:26 +0530)
committerViresh Kumar <viresh.kumar@linaro.org>
Wed, 9 May 2018 04:45:19 +0000 (10:15 +0530)
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>
drivers/base/power/domain.c
include/linux/pm_domain.h

index 1ea0e2502e8ed4db0792935be700da3909aa83b3..4a3dc9cc0848e61cb642c0691a958eefda2c0dbd 100644 (file)
@@ -1696,6 +1696,9 @@ int pm_genpd_init(struct generic_pm_domain *genpd,
                        return ret;
        }
 
+       device_initialize(&genpd->dev);
+       dev_set_name(&genpd->dev, "%s", genpd->name);
+
        mutex_lock(&gpd_list_lock);
        list_add(&genpd->gpd_list_node, &gpd_list);
        mutex_unlock(&gpd_list_lock);
index 04dbef9847d3ad3b5619b12a6d2fdab209e725c8..aaacaa35005d0386aa2b5c44e144209831235857 100644 (file)
@@ -49,6 +49,7 @@ struct genpd_power_state {
 struct genpd_lock_ops;
 
 struct generic_pm_domain {
+       struct device dev;
        struct dev_pm_domain domain;    /* PM domain operations */
        struct list_head gpd_list_node; /* Node in the global PM domains list */
        struct list_head master_links;  /* Links with PM domain as a master */