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: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
fde297bb4d
commit
b29c7690a7
1 changed files with 4 additions and 7 deletions
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue