]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/base/power/qos.c
Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[karo-tx-linux.git] / drivers / base / power / qos.c
index 71671c42ef457e3486f13b770114a0c09459a708..5c1361a9e5dd58049c3835d414f42607cdb46411 100644 (file)
@@ -42,6 +42,7 @@
 #include <linux/export.h>
 #include <linux/pm_runtime.h>
 #include <linux/err.h>
+#include <trace/events/power.h>
 
 #include "power.h"
 
@@ -305,6 +306,7 @@ int dev_pm_qos_add_request(struct device *dev, struct dev_pm_qos_request *req,
        else if (!dev->power.qos)
                ret = dev_pm_qos_constraints_allocate(dev);
 
+       trace_dev_pm_qos_add_request(dev_name(dev), type, value);
        if (!ret) {
                req->dev = dev;
                req->type = type;
@@ -349,6 +351,8 @@ static int __dev_pm_qos_update_request(struct dev_pm_qos_request *req,
                return -EINVAL;
        }
 
+       trace_dev_pm_qos_update_request(dev_name(req->dev), req->type,
+                                       new_value);
        if (curr_value != new_value)
                ret = apply_constraint(req, PM_QOS_UPDATE_REQ, new_value);
 
@@ -398,6 +402,8 @@ static int __dev_pm_qos_remove_request(struct dev_pm_qos_request *req)
        if (IS_ERR_OR_NULL(req->dev->power.qos))
                return -ENODEV;
 
+       trace_dev_pm_qos_remove_request(dev_name(req->dev), req->type,
+                                       PM_QOS_DEFAULT_VALUE);
        ret = apply_constraint(req, PM_QOS_REMOVE_REQ, PM_QOS_DEFAULT_VALUE);
        memset(req, 0, sizeof(*req));
        return ret;