diff options
author | Mark Brown <broonie@linaro.org> | 2013-08-21 12:53:17 +0100 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2013-08-21 12:53:17 +0100 |
commit | 6e93543c4e79861c675aa8f6bb2040392e6532ab (patch) | |
tree | b82865e113c4fc52a60738050ab3c4c547fe1e44 /kernel/power | |
parent | c1eec2ad52f2414c36b28fde0dbf3e30d86465ea (diff) | |
parent | 4c4ca6a49f1a580666912153b8501331f7b4f379 (diff) |
Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-android
Diffstat (limited to 'kernel/power')
-rw-r--r-- | kernel/power/qos.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/kernel/power/qos.c b/kernel/power/qos.c index 587dddeebf15..25cf89bc659e 100644 --- a/kernel/power/qos.c +++ b/kernel/power/qos.c @@ -293,6 +293,15 @@ int pm_qos_request_active(struct pm_qos_request *req) } EXPORT_SYMBOL_GPL(pm_qos_request_active); +static void __pm_qos_update_request(struct pm_qos_request *req, + s32 new_value) +{ + if (new_value != req->node.prio) + pm_qos_update_target( + pm_qos_array[req->pm_qos_class]->constraints, + &req->node, PM_QOS_UPDATE_REQ, new_value); +} + /** * pm_qos_work_fn - the timeout handler of pm_qos_update_request_timeout * @work: work struct for the delayed work (timeout) @@ -305,7 +314,7 @@ static void pm_qos_work_fn(struct work_struct *work) struct pm_qos_request, work); - pm_qos_update_request(req, PM_QOS_DEFAULT_VALUE); + __pm_qos_update_request(req, PM_QOS_DEFAULT_VALUE); } /** @@ -365,6 +374,8 @@ void pm_qos_update_request(struct pm_qos_request *req, pm_qos_update_target( pm_qos_array[req->pm_qos_class]->constraints, &req->node, PM_QOS_UPDATE_REQ, new_value); + + __pm_qos_update_request(req, new_value); } EXPORT_SYMBOL_GPL(pm_qos_update_request); |