mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-09-22 09:34:56 +02:00
regulator: scmi: Simplify with scoped for each OF child loop
[ Upstream commit99cf5db9cd] Use scoped for_each_available_child_of_node_scoped() when iterating over device nodes to make code a bit simpler. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://patch.msgid.link/20240814-cleanup-h-of-node-put-regulator-v1-7-87151088b883@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org> Stable-dep-of:fa11039d6c("regulator: scmi: fix of_node refcount leak in scmi_regulator_probe()") Signed-off-by: Sasha Levin <sashal@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
1526f3c988
commit
7c90aa5cae
@@ -298,7 +298,7 @@ static int process_scmi_regulator_of_node(struct scmi_device *sdev,
|
||||
static int scmi_regulator_probe(struct scmi_device *sdev)
|
||||
{
|
||||
int d, ret, num_doms;
|
||||
struct device_node *np, *child;
|
||||
struct device_node *np;
|
||||
const struct scmi_handle *handle = sdev->handle;
|
||||
struct scmi_regulator_info *rinfo;
|
||||
struct scmi_protocol_handle *ph;
|
||||
@@ -342,13 +342,11 @@ static int scmi_regulator_probe(struct scmi_device *sdev)
|
||||
*/
|
||||
of_node_get(handle->dev->of_node);
|
||||
np = of_find_node_by_name(handle->dev->of_node, "regulators");
|
||||
for_each_child_of_node(np, child) {
|
||||
for_each_child_of_node_scoped(np, child) {
|
||||
ret = process_scmi_regulator_of_node(sdev, ph, child, rinfo);
|
||||
/* abort on any mem issue */
|
||||
if (ret == -ENOMEM) {
|
||||
of_node_put(child);
|
||||
if (ret == -ENOMEM)
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
of_node_put(np);
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user