Merge tag 'v3.4-rc2' into perf/core
[firefly-linux-kernel-4.4.55.git] / include / linux / pm_qos.h
index 2e9191a712f301574a6109541358b3a2d3ae9e52..233149cb19f4ae8af9ad35b7f6d2d5ab5929e288 100644 (file)
@@ -8,6 +8,7 @@
 #include <linux/notifier.h>
 #include <linux/miscdevice.h>
 #include <linux/device.h>
+#include <linux/workqueue.h>
 
 enum {
        PM_QOS_RESERVED = 0,
@@ -29,6 +30,7 @@ enum {
 struct pm_qos_request {
        struct plist_node node;
        int pm_qos_class;
+       struct delayed_work work; /* for pm_qos_update_request_timeout */
 };
 
 struct dev_pm_qos_request {
@@ -73,6 +75,8 @@ void pm_qos_add_request(struct pm_qos_request *req, int pm_qos_class,
                        s32 value);
 void pm_qos_update_request(struct pm_qos_request *req,
                           s32 new_value);
+void pm_qos_update_request_timeout(struct pm_qos_request *req,
+                                  s32 new_value, unsigned long timeout_us);
 void pm_qos_remove_request(struct pm_qos_request *req);
 
 int pm_qos_request(int pm_qos_class);