PM / QOS: Rename __dev_pm_qos_read_value() and dev_pm_qos_raw_read_value()
dev_pm_qos_read_value() will soon need to support more constraint types (min/max frequency) and will have another argument to it, i.e. type of the constraint. While that is fine for the existing users of dev_pm_qos_read_value(), but not that optimal for the callers of __dev_pm_qos_read_value() and dev_pm_qos_raw_read_value() as all the callers of these two routines are only looking for resume latency constraint. Lets make these two routines care only about the resume latency constraint and rename them to __dev_pm_qos_resume_latency() and dev_pm_qos_raw_resume_latency(). Suggested-by: Rafael J. Wysocki <rjw@rjwysocki.net> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
此提交包含在:
@@ -66,7 +66,7 @@ static bool default_suspend_ok(struct device *dev)
|
||||
td->constraint_changed = false;
|
||||
td->cached_suspend_ok = false;
|
||||
td->effective_constraint_ns = 0;
|
||||
constraint_ns = __dev_pm_qos_read_value(dev);
|
||||
constraint_ns = __dev_pm_qos_resume_latency(dev);
|
||||
|
||||
spin_unlock_irqrestore(&dev->power.lock, flags);
|
||||
|
||||
|
@@ -90,16 +90,16 @@ enum pm_qos_flags_status dev_pm_qos_flags(struct device *dev, s32 mask)
|
||||
EXPORT_SYMBOL_GPL(dev_pm_qos_flags);
|
||||
|
||||
/**
|
||||
* __dev_pm_qos_read_value - Get PM QoS constraint for a given device.
|
||||
* __dev_pm_qos_resume_latency - Get resume latency constraint for a given device.
|
||||
* @dev: Device to get the PM QoS constraint value for.
|
||||
*
|
||||
* This routine must be called with dev->power.lock held.
|
||||
*/
|
||||
s32 __dev_pm_qos_read_value(struct device *dev)
|
||||
s32 __dev_pm_qos_resume_latency(struct device *dev)
|
||||
{
|
||||
lockdep_assert_held(&dev->power.lock);
|
||||
|
||||
return dev_pm_qos_raw_read_value(dev);
|
||||
return dev_pm_qos_raw_resume_latency(dev);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -112,7 +112,12 @@ s32 dev_pm_qos_read_value(struct device *dev)
|
||||
s32 ret;
|
||||
|
||||
spin_lock_irqsave(&dev->power.lock, flags);
|
||||
ret = __dev_pm_qos_read_value(dev);
|
||||
|
||||
if (IS_ERR_OR_NULL(dev->power.qos))
|
||||
ret = PM_QOS_RESUME_LATENCY_NO_CONSTRAINT;
|
||||
else
|
||||
ret = pm_qos_read_value(&dev->power.qos->resume_latency);
|
||||
|
||||
spin_unlock_irqrestore(&dev->power.lock, flags);
|
||||
|
||||
return ret;
|
||||
|
@@ -275,7 +275,7 @@ static int rpm_check_suspend_allowed(struct device *dev)
|
||||
|| (dev->power.request_pending
|
||||
&& dev->power.request == RPM_REQ_RESUME))
|
||||
retval = -EAGAIN;
|
||||
else if (__dev_pm_qos_read_value(dev) == 0)
|
||||
else if (__dev_pm_qos_resume_latency(dev) == 0)
|
||||
retval = -EPERM;
|
||||
else if (dev->power.runtime_status == RPM_SUSPENDED)
|
||||
retval = 1;
|
||||
|
新增問題並參考
封鎖使用者