Message ID | 0e9ac75f0e94d7b0bff9a398b501e2fe4f409051.1494995911.git.viresh.kumar@linaro.org |
---|---|
State | New |
Headers | show |
Series | PM / OPP: Minor cleanups | expand |
On 05/17, Viresh Kumar wrote: > If dev_pm_opp_set_regulators() is called for a device and its regulators > are set in the OPP core, the OPP nodes for the device must contain the > "opp-microvolt" property, otherwise there is something wrong and we > better error out. > > Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> > --- > drivers/base/power/opp/of.c | 11 +++++++++-- > 1 file changed, 9 insertions(+), 2 deletions(-) > > diff --git a/drivers/base/power/opp/of.c b/drivers/base/power/opp/of.c > index 779428676f63..c6fc8cbad10d 100644 > --- a/drivers/base/power/opp/of.c > +++ b/drivers/base/power/opp/of.c > @@ -131,8 +131,15 @@ static int opp_parse_supplies(struct dev_pm_opp *opp, struct device *dev, > prop = of_find_property(opp->np, name, NULL); > > /* Missing property isn't a problem, but an invalid entry is */ > - if (!prop) > - return 0; > + if (!prop) { > + /* The regulator-count must be zero here */ Comment is restating code with no insight into what's so special, how about: /* * But it better not be missing if we're * expecting OPP core to manage regulators */ Although I suppose the dev_err message is pretty good. > + if (!opp_table->regulator_count) > + return 0; > + > + dev_err(dev, "%s: opp-microvolt missing even if regulators are available\n", "missing although OPP managing regulators"? > + __func__); -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
diff --git a/drivers/base/power/opp/of.c b/drivers/base/power/opp/of.c index 779428676f63..c6fc8cbad10d 100644 --- a/drivers/base/power/opp/of.c +++ b/drivers/base/power/opp/of.c @@ -131,8 +131,15 @@ static int opp_parse_supplies(struct dev_pm_opp *opp, struct device *dev, prop = of_find_property(opp->np, name, NULL); /* Missing property isn't a problem, but an invalid entry is */ - if (!prop) - return 0; + if (!prop) { + /* The regulator-count must be zero here */ + if (!opp_table->regulator_count) + return 0; + + dev_err(dev, "%s: opp-microvolt missing even if regulators are available\n", + __func__); + return -EINVAL; + } } vcount = of_property_count_u32_elems(opp->np, name);
If dev_pm_opp_set_regulators() is called for a device and its regulators are set in the OPP core, the OPP nodes for the device must contain the "opp-microvolt" property, otherwise there is something wrong and we better error out. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> --- drivers/base/power/opp/of.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) -- 2.13.0.303.g4ebf3021692d