2024-04-28 11:59:17

by Shresth Prasad

[permalink] [raw]
Subject: [PATCH][next] of: property: Use scope based cleanup on port_node

Use __free cleanup handler which ensures that the resource is freed when
it goes out of scope, thus removing the need to manually clean it up
using of_node_put.

Suggested-by: Julia Lawall <[email protected]>
Signed-off-by: Shresth Prasad <[email protected]>
---
Rob Herring <[email protected]> sent a patch fixing similar cases in
property.c but seems to have missed this one. Please let me know if this
is mistake, or if it was left unchanged for a reason.

drivers/of/property.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/of/property.c b/drivers/of/property.c
index 6d5ae58a7ac9..abc8613b471f 100644
--- a/drivers/of/property.c
+++ b/drivers/of/property.c
@@ -576,7 +576,8 @@ EXPORT_SYMBOL_GPL(of_prop_next_string);
int of_graph_parse_endpoint(const struct device_node *node,
struct of_endpoint *endpoint)
{
- struct device_node *port_node = of_get_parent(node);
+ struct device_node *port_node __free(device_node) =
+ of_get_parent(node);

WARN_ONCE(!port_node, "%s(): endpoint %pOF has no parent node\n",
__func__, node);
@@ -591,8 +592,6 @@ int of_graph_parse_endpoint(const struct device_node *node,
of_property_read_u32(port_node, "reg", &endpoint->port);
of_property_read_u32(node, "reg", &endpoint->id);

- of_node_put(port_node);
-
return 0;
}
EXPORT_SYMBOL(of_graph_parse_endpoint);
--
2.44.0



2024-04-29 16:27:27

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH][next] of: property: Use scope based cleanup on port_node


On Sun, 28 Apr 2024 17:22:27 +0530, Shresth Prasad wrote:
> Use __free cleanup handler which ensures that the resource is freed when
> it goes out of scope, thus removing the need to manually clean it up
> using of_node_put.
>
> Suggested-by: Julia Lawall <[email protected]>
> Signed-off-by: Shresth Prasad <[email protected]>
> ---
> Rob Herring <[email protected]> sent a patch fixing similar cases in
> property.c but seems to have missed this one. Please let me know if this
> is mistake, or if it was left unchanged for a reason.
>
> drivers/of/property.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>

Applied, thanks!