提交 b29c7690 编写于 作者: A Axel Lin 提交者: Mark Brown

regulator: Simplify regulator_bulk_get and regulator_bulk_enable error paths

Start unwind from the point the error happens instead of iterating over all
consumers, then unwind code can be simpler.
Signed-off-by: NAxel Lin <axel.lin@gmail.com>
Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
上级 fde297bb
......@@ -2397,7 +2397,7 @@ int regulator_bulk_get(struct device *dev, int num_consumers,
return 0;
err:
for (i = 0; i < num_consumers && consumers[i].consumer; i++)
while (--i >= 0)
regulator_put(consumers[i].consumer);
return ret;
......@@ -2447,12 +2447,9 @@ int regulator_bulk_enable(int num_consumers,
return 0;
err:
for (i = 0; i < num_consumers; i++)
if (consumers[i].ret == 0)
regulator_disable(consumers[i].consumer);
else
pr_err("Failed to enable %s: %d\n",
consumers[i].supply, consumers[i].ret);
pr_err("Failed to enable %s: %d\n", consumers[i].supply, ret);
while (--i >= 0)
regulator_disable(consumers[i].consumer);
return ret;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册