]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - include/linux/pm.h
Merge branch 'pm-domains' into pm-for-linus
[karo-tx-linux.git] / include / linux / pm.h
index 18de9f893497c14c8e8e8bb181fa841bedd5417a..f497ed06ee1530aba9b8a2a181ba54715558d6e7 100644 (file)
@@ -423,6 +423,22 @@ enum rpm_request {
 
 struct wakeup_source;
 
+struct pm_domain_data {
+       struct list_head list_node;
+       struct device *dev;
+};
+
+struct pm_subsys_data {
+       spinlock_t lock;
+       unsigned int refcount;
+#ifdef CONFIG_PM_CLK
+       struct list_head clock_list;
+#endif
+#ifdef CONFIG_PM_GENERIC_DOMAINS
+       struct pm_domain_data *domain_data;
+#endif
+};
+
 struct dev_pm_info {
        pm_message_t            power_state;
        unsigned int            can_wakeup:1;
@@ -464,10 +480,12 @@ struct dev_pm_info {
        unsigned long           suspended_jiffies;
        unsigned long           accounting_timestamp;
 #endif
-       void                    *subsys_data;  /* Owned by the subsystem. */
+       struct pm_subsys_data   *subsys_data;  /* Owned by the subsystem. */
 };
 
 extern void update_pm_runtime_accounting(struct device *dev);
+extern int dev_pm_get_subsys_data(struct device *dev);
+extern int dev_pm_put_subsys_data(struct device *dev);
 
 /*
  * Power domains provide callbacks that are executed during system suspend,