1
0
Fork 0

PM / OPP: Error out on failing to add static OPPs for v1 bindings

The code adding static OPPs for V2 bindings already does so. Make the V1
bindings specific code behave the same.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
hifive-unleashed-5.1
Viresh Kumar 2017-01-02 14:40:58 +05:30 committed by Rafael J. Wysocki
parent 63a69ea4b8
commit 04a86a84c4
1 changed files with 8 additions and 4 deletions

View File

@ -433,7 +433,7 @@ static int _of_add_opp_table_v1(struct device *dev)
{
const struct property *prop;
const __be32 *val;
int nr;
int nr, ret;
prop = of_find_property(dev->of_node, "operating-points", NULL);
if (!prop)
@ -456,9 +456,13 @@ static int _of_add_opp_table_v1(struct device *dev)
unsigned long freq = be32_to_cpup(val++) * 1000;
unsigned long volt = be32_to_cpup(val++);
if (_opp_add_v1(dev, freq, volt, false))
dev_warn(dev, "%s: Failed to add OPP %ld\n",
__func__, freq);
ret = _opp_add_v1(dev, freq, volt, false);
if (ret) {
dev_err(dev, "%s: Failed to add OPP %ld (%d)\n",
__func__, freq, ret);
dev_pm_opp_of_remove_table(dev);
return ret;
}
nr -= 2;
}