summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLina Iyer <lina.iyer@linaro.org>2016-10-14 10:47:54 -0700
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2016-10-21 22:20:47 +0200
commit35241d12f750d2f1556a9c85f175ce7044716881 (patch)
treeefa4f16ca594834434c123ddb56aa85c3aa85cf3 /include
parent70bb510e42797792d9fc4842f01fa2fb685717b6 (diff)
downloadlinux-35241d12f750d2f1556a9c85f175ce7044716881.tar.gz
linux-35241d12f750d2f1556a9c85f175ce7044716881.tar.bz2
linux-35241d12f750d2f1556a9c85f175ce7044716881.zip
PM / Domains: Abstract genpd locking
Abstract genpd lock/unlock calls, in preparation for domain specific locks added in the following patches. Signed-off-by: Lina Iyer <lina.iyer@linaro.org> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Reviewed-by: Kevin Hilman <khilman@baylibre.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/pm_domain.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/linux/pm_domain.h b/include/linux/pm_domain.h
index 6a8988166899..811b968eb740 100644
--- a/include/linux/pm_domain.h
+++ b/include/linux/pm_domain.h
@@ -42,13 +42,14 @@ struct genpd_power_state {
struct fwnode_handle *fwnode;
};
+struct genpd_lock_ops;
+
struct generic_pm_domain {
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 */
struct list_head slave_links; /* Links with PM domain as a slave */
struct list_head dev_list; /* List of devices */
- struct mutex lock;
struct dev_power_governor *gov;
struct work_struct power_off_work;
struct fwnode_handle *provider; /* Identity of the domain provider */
@@ -74,6 +75,8 @@ struct generic_pm_domain {
unsigned int state_count; /* number of states */
unsigned int state_idx; /* state that genpd will go to when off */
void *free; /* Free the state that was allocated for default */
+ const struct genpd_lock_ops *lock_ops;
+ struct mutex mlock;
};