lkml.org 
[lkml]   [2015]   [Sep]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] PM / OPP: of_property_count_u32_elems() can return errors
On 09/17, Viresh Kumar wrote:
> +++ b/drivers/base/power/opp.c
> @@ -889,13 +889,22 @@ static int _opp_add_dynamic(struct device *dev, unsigned long freq,
> /* TODO: Support multiple regulators */
> static int opp_get_microvolt(struct dev_pm_opp *opp, struct device *dev)
> {
> + struct property *prop;
> 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 */
> + prop = of_find_property(opp->np, "opp-microvolt", NULL);

Prop isn't used anywhere so why not remove the local variable and
test the result of this call inside the if condition?

> + if (!prop)
> return 0;
>
> + count = of_property_count_u32_elems(opp->np, "opp-microvolt");
> + if (count < 0) {

We can't test count for -EINVAL to detect the missing property
because -EINVAL is also returned on a non-multiple of u32 length
property? Maybe we shouldn't worry about that case and turn
-EINVAL into 0.

> + dev_err(dev, "%s: Invalid opp-microvolt property (%d)\n",
> + __func__, count);
> + return count;

--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project


\
 
 \ /
  Last update: 2015-09-17 20:41    [W:0.046 / U:2.484 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site