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;
|
return 0;
|
||||||
|
|
||||||
err:
|
err:
|
||||||
for (i = 0; i < num_consumers && consumers[i].consumer; i++)
|
while (--i >= 0)
|
||||||
regulator_put(consumers[i].consumer);
|
regulator_put(consumers[i].consumer);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -2447,12 +2447,9 @@ int regulator_bulk_enable(int num_consumers,
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
err:
|
err:
|
||||||
for (i = 0; i < num_consumers; i++)
|
pr_err("Failed to enable %s: %d\n", consumers[i].supply, ret);
|
||||||
if (consumers[i].ret == 0)
|
while (--i >= 0)
|
||||||
regulator_disable(consumers[i].consumer);
|
regulator_disable(consumers[i].consumer);
|
||||||
else
|
|
||||||
pr_err("Failed to enable %s: %d\n",
|
|
||||||
consumers[i].supply, consumers[i].ret);
|
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue