[PATCH v2] regulator: core: Add label to collate of_node_put() statements

From: Nishka Dasgupta
Date: Thu Aug 15 2019 - 01:32:29 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>
---
Changes in v2:
- Submit this as a separate patch instead of updating a previous patch.

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.19.1