Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 04a86a84 authored by Viresh Kumar's avatar Viresh Kumar Committed by Rafael J. Wysocki
Browse files

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: default avatarViresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: default avatarStephen Boyd <sboyd@codeaurora.org>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 63a69ea4
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -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;
	}