aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2017-02-03 18:16:17 -0500
committerMark Brown <broonie@kernel.org>2017-02-04 05:37:24 -0500
commitb8c77ff6902baa6ca93ca643bfff2d565801ea30 (patch)
tree188250c8309f186f697ebbebc14829da507cea9c
parenta8bd42a97741aefa5942605fa87418fc8a6c4169 (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.c12
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;
3704out:
3705 return ret; 3701 return ret;
3706} 3702}
3707EXPORT_SYMBOL_GPL(regulator_bulk_force_disable); 3703EXPORT_SYMBOL_GPL(regulator_bulk_force_disable);