[PATCH] regulator: core: Add label to collate of_node_put() statements
From: Nishka Dasgupta
Date: Thu Aug 15 2019 - 01:37:04 EST
In function of_get_child_regulator(), the loop for_each_child_of_node()
contains two mid-loop return statements, each preceded by a statement
putting child. In order to reduce this repetition, create a new label,
err_node_put, that puts child and then returns the required value;
edit the mid-loop return blocks to instead go to this new label.
Signed-off-by: Nishka Dasgupta <nishkadg.linux@xxxxxxxxx>
Link: https://lore.kernel.org/r/20190815053704.32156-1-nishkadg.linux@xxxxxxxxx
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
---
drivers/regulator/core.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index 7a5d52948703..4a27a46ec6e7 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -380,16 +380,17 @@ static struct device_node *of_get_child_regulator(struct device_node *parent,
if (!regnode) {
regnode = of_get_child_regulator(child, prop_name);
- if (regnode) {
- of_node_put(child);
- return regnode;
- }
+ if (regnode)
+ goto err_node_put;
} else {
- of_node_put(child);
- return regnode;
+ goto err_node_put;
}
}
return NULL;
+
+err_node_put:
+ of_node_put(child);
+ return regnode;
}
/**
--
2.20.1