diff options
Diffstat (limited to 'drivers/base/power/qos.c')
-rw-r--r-- | drivers/base/power/qos.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/base/power/qos.c b/drivers/base/power/qos.c index 71671c42ef45..5c1361a9e5dd 100644 --- a/drivers/base/power/qos.c +++ b/drivers/base/power/qos.c | |||
@@ -42,6 +42,7 @@ | |||
42 | #include <linux/export.h> | 42 | #include <linux/export.h> |
43 | #include <linux/pm_runtime.h> | 43 | #include <linux/pm_runtime.h> |
44 | #include <linux/err.h> | 44 | #include <linux/err.h> |
45 | #include <trace/events/power.h> | ||
45 | 46 | ||
46 | #include "power.h" | 47 | #include "power.h" |
47 | 48 | ||
@@ -305,6 +306,7 @@ int dev_pm_qos_add_request(struct device *dev, struct dev_pm_qos_request *req, | |||
305 | else if (!dev->power.qos) | 306 | else if (!dev->power.qos) |
306 | ret = dev_pm_qos_constraints_allocate(dev); | 307 | ret = dev_pm_qos_constraints_allocate(dev); |
307 | 308 | ||
309 | trace_dev_pm_qos_add_request(dev_name(dev), type, value); | ||
308 | if (!ret) { | 310 | if (!ret) { |
309 | req->dev = dev; | 311 | req->dev = dev; |
310 | req->type = type; | 312 | req->type = type; |
@@ -349,6 +351,8 @@ static int __dev_pm_qos_update_request(struct dev_pm_qos_request *req, | |||
349 | return -EINVAL; | 351 | return -EINVAL; |
350 | } | 352 | } |
351 | 353 | ||
354 | trace_dev_pm_qos_update_request(dev_name(req->dev), req->type, | ||
355 | new_value); | ||
352 | if (curr_value != new_value) | 356 | if (curr_value != new_value) |
353 | ret = apply_constraint(req, PM_QOS_UPDATE_REQ, new_value); | 357 | ret = apply_constraint(req, PM_QOS_UPDATE_REQ, new_value); |
354 | 358 | ||
@@ -398,6 +402,8 @@ static int __dev_pm_qos_remove_request(struct dev_pm_qos_request *req) | |||
398 | if (IS_ERR_OR_NULL(req->dev->power.qos)) | 402 | if (IS_ERR_OR_NULL(req->dev->power.qos)) |
399 | return -ENODEV; | 403 | return -ENODEV; |
400 | 404 | ||
405 | trace_dev_pm_qos_remove_request(dev_name(req->dev), req->type, | ||
406 | PM_QOS_DEFAULT_VALUE); | ||
401 | ret = apply_constraint(req, PM_QOS_REMOVE_REQ, PM_QOS_DEFAULT_VALUE); | 407 | ret = apply_constraint(req, PM_QOS_REMOVE_REQ, PM_QOS_DEFAULT_VALUE); |
402 | memset(req, 0, sizeof(*req)); | 408 | memset(req, 0, sizeof(*req)); |
403 | return ret; | 409 | return ret; |