summaryrefslogtreecommitdiff
path: root/include/linux/pm_qos.h
diff options
context:
space:
mode:
authorVladimir Tsunaev <vladimirt@motorola.com>2014-06-09 13:51:48 -0400
committerVladimir Tsunaev <vladimirt@motorola.com>2014-06-09 13:51:56 -0400
commit4f375998dbe2515e83ff368411ea48daf3106e68 (patch)
treeae2ce73c06a4d946b9a2f9fd8c480e1365997f32 /include/linux/pm_qos.h
parented24278545cafd0d5340fae510ec1074c144dcac (diff)
downloadolio-linux-3.10-4f375998dbe2515e83ff368411ea48daf3106e68.tar.xz
olio-linux-3.10-4f375998dbe2515e83ff368411ea48daf3106e68.zip
IKXCLOCK-1638 power: qos: Allow to use QOS API with IRQ disabled
If QOS non-auto API is called with IRQ disabled then IRQ will be enabled by cancell work function. This change allows to use QOS API in IRQ disbaled context. Change-Id: Ia60b80539b30351621e3f7c7405f8464aa705d59 Signed-off-by: Vladimir Tsunaev <vladimirt@motorola.com>
Diffstat (limited to 'include/linux/pm_qos.h')
-rw-r--r--include/linux/pm_qos.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/pm_qos.h b/include/linux/pm_qos.h
index 5a95013905c..218a8227ec4 100644
--- a/include/linux/pm_qos.h
+++ b/include/linux/pm_qos.h
@@ -40,6 +40,7 @@ enum pm_qos_flags_status {
struct pm_qos_request {
struct plist_node node;
int pm_qos_class;
+ bool timeout_enabled;
struct delayed_work work; /* for pm_qos_update_request_timeout */
};
@@ -114,6 +115,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_add_request_timeout(struct pm_qos_request *req, int pm_qos_class,
+ s32 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);