PM / Domains: Cache device stop and domain power off governor results, v3
[linux-2.6.git] / include / linux / pm_domain.h
index e7ada5c..1e994ee 100644 (file)
@@ -14,6 +14,7 @@
 #include <linux/pm.h>
 #include <linux/err.h>
 #include <linux/of.h>
+#include <linux/notifier.h>
 
 enum gpd_status {
        GPD_STATE_ACTIVE = 0,   /* PM domain is active */
@@ -71,6 +72,8 @@ struct generic_pm_domain {
        s64 power_on_latency_ns;
        struct gpd_dev_ops dev_ops;
        s64 max_off_time_ns;    /* Maximum allowed "suspended" time. */
+       bool max_off_time_changed;
+       bool cached_power_down_ok;
        struct device_node *of_node; /* Node in device tree */
 };
 
@@ -92,12 +95,16 @@ struct gpd_timing_data {
        s64 save_state_latency_ns;
        s64 restore_state_latency_ns;
        s64 effective_constraint_ns;
+       bool constraint_changed;
+       bool cached_stop_ok;
 };
 
 struct generic_pm_domain_data {
        struct pm_domain_data base;
        struct gpd_dev_ops ops;
        struct gpd_timing_data td;
+       struct notifier_block nb;
+       struct mutex lock;
        bool need_restore;
        bool always_on;
 };