aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/base/power/qos.c
diff options
context:
space:
mode:
authorKrzysztof Kozlowski <k.kozlowski@samsung.com>2015-01-09 03:27:58 -0500
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2015-01-23 16:31:08 -0500
commitf90b8ad83a6ae984edb6b489ed02e45dadfd263e (patch)
treef3b756682a92783fdb0f2064dc2d3f1b3b47e0bb /drivers/base/power/qos.c
parentf5f4eda4c9b9e26ec7d7c8ce083e386016ffc0f8 (diff)
PM / QoS: Use lockdep asserts to find missing hold of power.lock
Add lockdep asserts for holding the dev->power.lock to non-static functions which require this. They could be used outside of the file so asserts may help in detecting locking misuse. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/base/power/qos.c')
-rw-r--r--drivers/base/power/qos.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/base/power/qos.c b/drivers/base/power/qos.c
index a8fe4c1a8d07..e56d538d039e 100644
--- a/drivers/base/power/qos.c
+++ b/drivers/base/power/qos.c
@@ -64,6 +64,8 @@ enum pm_qos_flags_status __dev_pm_qos_flags(struct device *dev, s32 mask)
64 struct pm_qos_flags *pqf; 64 struct pm_qos_flags *pqf;
65 s32 val; 65 s32 val;
66 66
67 lockdep_assert_held(&dev->power.lock);
68
67 if (IS_ERR_OR_NULL(qos)) 69 if (IS_ERR_OR_NULL(qos))
68 return PM_QOS_FLAGS_UNDEFINED; 70 return PM_QOS_FLAGS_UNDEFINED;
69 71
@@ -104,6 +106,8 @@ EXPORT_SYMBOL_GPL(dev_pm_qos_flags);
104 */ 106 */
105s32 __dev_pm_qos_read_value(struct device *dev) 107s32 __dev_pm_qos_read_value(struct device *dev)
106{ 108{
109 lockdep_assert_held(&dev->power.lock);
110
107 return IS_ERR_OR_NULL(dev->power.qos) ? 111 return IS_ERR_OR_NULL(dev->power.qos) ?
108 0 : pm_qos_read_value(&dev->power.qos->resume_latency); 112 0 : pm_qos_read_value(&dev->power.qos->resume_latency);
109} 113}