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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to