diff options
author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2017-02-03 18:16:17 -0500 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2017-02-04 05:37:24 -0500 |
commit | b8c77ff6902baa6ca93ca643bfff2d565801ea30 (patch) | |
tree | 188250c8309f186f697ebbebc14829da507cea9c | |
parent | a8bd42a97741aefa5942605fa87418fc8a6c4169 (diff) |
regulator: core: simplify regulator_bulk_force_disable()
There is no need to have two loops there, we can store error for subsequent
reporting.
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | drivers/regulator/core.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index 206c274c0003..fe05923611ee 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c | |||
@@ -3687,21 +3687,17 @@ int regulator_bulk_force_disable(int num_consumers, | |||
3687 | struct regulator_bulk_data *consumers) | 3687 | struct regulator_bulk_data *consumers) |
3688 | { | 3688 | { |
3689 | int i; | 3689 | int i; |
3690 | int ret; | 3690 | int ret = 0; |
3691 | 3691 | ||
3692 | for (i = 0; i < num_consumers; i++) | 3692 | for (i = 0; i < num_consumers; i++) { |
3693 | consumers[i].ret = | 3693 | consumers[i].ret = |
3694 | regulator_force_disable(consumers[i].consumer); | 3694 | regulator_force_disable(consumers[i].consumer); |
3695 | 3695 | ||
3696 | for (i = 0; i < num_consumers; i++) { | 3696 | /* Store first error for reporting */ |
3697 | if (consumers[i].ret != 0) { | 3697 | if (consumers[i].ret && !ret) |
3698 | ret = consumers[i].ret; | 3698 | ret = consumers[i].ret; |
3699 | goto out; | ||
3700 | } | ||
3701 | } | 3699 | } |
3702 | 3700 | ||
3703 | return 0; | ||
3704 | out: | ||
3705 | return ret; | 3701 | return ret; |
3706 | } | 3702 | } |
3707 | EXPORT_SYMBOL_GPL(regulator_bulk_force_disable); | 3703 | EXPORT_SYMBOL_GPL(regulator_bulk_force_disable); |