Merge branches 'pm-cpuidle', 'pm-opp' and 'pm-tools'
* pm-cpuidle: intel_idle: Skylake Client Support - updated * pm-opp: PM / OPP: Fix typo modifcation -> modification PM / OPP: of_property_count_u32_elems() can return errors * pm-tools: tools/power turbosat: update version number tools/power turbostat: SKL: Adjust for TSC difference from base frequency tools/power turbostat: KNL workaround for %Busy and Avg_MHz tools/power turbostat: IVB Xeon: fix --debug regression
This commit is contained in:
@@ -892,10 +892,17 @@ static int opp_get_microvolt(struct dev_pm_opp *opp, struct device *dev)
|
||||
u32 microvolt[3] = {0};
|
||||
int count, ret;
|
||||
|
||||
count = of_property_count_u32_elems(opp->np, "opp-microvolt");
|
||||
if (!count)
|
||||
/* Missing property isn't a problem, but an invalid entry is */
|
||||
if (!of_find_property(opp->np, "opp-microvolt", NULL))
|
||||
return 0;
|
||||
|
||||
count = of_property_count_u32_elems(opp->np, "opp-microvolt");
|
||||
if (count < 0) {
|
||||
dev_err(dev, "%s: Invalid opp-microvolt property (%d)\n",
|
||||
__func__, count);
|
||||
return count;
|
||||
}
|
||||
|
||||
/* There can be one or three elements here */
|
||||
if (count != 1 && count != 3) {
|
||||
dev_err(dev, "%s: Invalid number of elements in opp-microvolt property (%d)\n",
|
||||
@@ -1063,7 +1070,7 @@ EXPORT_SYMBOL_GPL(dev_pm_opp_add);
|
||||
* share a common logic which is isolated here.
|
||||
*
|
||||
* Return: -EINVAL for bad pointers, -ENOMEM if no memory available for the
|
||||
* copy operation, returns 0 if no modifcation was done OR modification was
|
||||
* copy operation, returns 0 if no modification was done OR modification was
|
||||
* successful.
|
||||
*
|
||||
* Locking: The internal device_opp and opp structures are RCU protected.
|
||||
@@ -1151,7 +1158,7 @@ unlock:
|
||||
* mutex locking or synchronize_rcu() blocking calls cannot be used.
|
||||
*
|
||||
* Return: -EINVAL for bad pointers, -ENOMEM if no memory available for the
|
||||
* copy operation, returns 0 if no modifcation was done OR modification was
|
||||
* copy operation, returns 0 if no modification was done OR modification was
|
||||
* successful.
|
||||
*/
|
||||
int dev_pm_opp_enable(struct device *dev, unsigned long freq)
|
||||
@@ -1177,7 +1184,7 @@ EXPORT_SYMBOL_GPL(dev_pm_opp_enable);
|
||||
* mutex locking or synchronize_rcu() blocking calls cannot be used.
|
||||
*
|
||||
* Return: -EINVAL for bad pointers, -ENOMEM if no memory available for the
|
||||
* copy operation, returns 0 if no modifcation was done OR modification was
|
||||
* copy operation, returns 0 if no modification was done OR modification was
|
||||
* successful.
|
||||
*/
|
||||
int dev_pm_opp_disable(struct device *dev, unsigned long freq)
|
||||
|
Reference in New Issue
Block a user