Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1230451 > unrolled thread
| Started by | Viresh Kumar <viresh.kumar@linaro.org> |
|---|---|
| First post | 2015-09-22 18:40 +0200 |
| Last post | 2015-09-25 23:20 +0200 |
| Articles | 3 — 3 participants |
Back to article view | Back to linux.kernel
[PATCH V2] PM / OPP: of_property_count_u32_elems() can return errors Viresh Kumar <viresh.kumar@linaro.org> - 2015-09-22 18:40 +0200
Re: [PATCH V2] PM / OPP: of_property_count_u32_elems() can return errors Stephen Boyd <sboyd@codeaurora.org> - 2015-09-22 19:00 +0200
Re: [PATCH V2] PM / OPP: of_property_count_u32_elems() can return errors "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2015-09-25 23:20 +0200
| From | Viresh Kumar <viresh.kumar@linaro.org> |
|---|---|
| Date | 2015-09-22 18:40 +0200 |
| Subject | [PATCH V2] PM / OPP: of_property_count_u32_elems() can return errors |
| Message-ID | <qbyLM-2nO-29@gated-at.bofh.it> |
of_property_count_u32_elems() will never return 0, but a -ve error value
of a positive count. And so the current !count check is wrong.
Also, a missing "opp-microvolt" property isn't a problem and so we need
to do of_find_property() separately to confirm that.
Fixes: 274659029c9d ("PM / OPP: Add support to parse "operating-points-v2" bindings")
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
V1->V2:
- Dropped 'prop' variable.
drivers/base/power/opp.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/drivers/base/power/opp.c b/drivers/base/power/opp.c
index 28cd75c535b0..1194669c2bb5 100644
--- a/drivers/base/power/opp.c
+++ b/drivers/base/power/opp.c
@@ -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",
--
2.4.0
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Stephen Boyd <sboyd@codeaurora.org> |
|---|---|
| Date | 2015-09-22 19:00 +0200 |
| Subject | Re: [PATCH V2] PM / OPP: of_property_count_u32_elems() can return errors |
| Message-ID | <qbz58-2KT-5@gated-at.bofh.it> |
| In reply to | #1230451 |
On 09/22, Viresh Kumar wrote:
> of_property_count_u32_elems() will never return 0, but a -ve error value
> of a positive count. And so the current !count check is wrong.
>
> Also, a missing "opp-microvolt" property isn't a problem and so we need
> to do of_find_property() separately to confirm that.
>
> Fixes: 274659029c9d ("PM / OPP: Add support to parse "operating-points-v2" bindings")
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
--
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 majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | "Rafael J. Wysocki" <rjw@rjwysocki.net> |
|---|---|
| Date | 2015-09-25 23:20 +0200 |
| Message-ID | <qcIzo-4Ol-5@gated-at.bofh.it> |
| In reply to | #1230465 |
On Tuesday, September 22, 2015 09:51:27 AM Stephen Boyd wrote:
> On 09/22, Viresh Kumar wrote:
> > of_property_count_u32_elems() will never return 0, but a -ve error value
> > of a positive count. And so the current !count check is wrong.
> >
> > Also, a missing "opp-microvolt" property isn't a problem and so we need
> > to do of_find_property() separately to confirm that.
> >
> > Fixes: 274659029c9d ("PM / OPP: Add support to parse "operating-points-v2" bindings")
> > Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> > ---
>
> Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
Applied, thanks!
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web