diff mbox series

da8xx-cfgchip.c: replace of_node_put with __free improves cleanup

Message ID 20240720152447.311442-1-david.hunter.linux@gmail.com (mailing list archive)
State Accepted, archived
Headers show
Series da8xx-cfgchip.c: replace of_node_put with __free improves cleanup | expand

Commit Message

David Hunter July 20, 2024, 3:24 p.m. UTC
The use of the __free function allows the cleanup to be based on scope
instead of on another function called later. This makes the cleanup
automatic and less susceptible to errors later.

This code was compiled without errors or warnings.

Signed-off-by: David Hunter <david.hunter.linux@gmail.com>
---
 drivers/clk/davinci/da8xx-cfgchip.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

Comments

David Lechner July 20, 2024, 4:18 p.m. UTC | #1
On 7/20/24 10:24 AM, David Hunter wrote:
> The use of the __free function allows the cleanup to be based on scope
> instead of on another function called later. This makes the cleanup
> automatic and less susceptible to errors later.
> 
> This code was compiled without errors or warnings.
> 
> Signed-off-by: David Hunter <david.hunter.linux@gmail.com>
> ---

Reviewed-by: David Lechner <david@lechnology.com>
Stephen Boyd July 29, 2024, 11:19 p.m. UTC | #2
Quoting David Hunter (2024-07-20 08:24:47)
> The use of the __free function allows the cleanup to be based on scope
> instead of on another function called later. This makes the cleanup
> automatic and less susceptible to errors later.
> 
> This code was compiled without errors or warnings.
> 
> Signed-off-by: David Hunter <david.hunter.linux@gmail.com>
> ---

Applied to clk-next
diff mbox series

Patch

diff --git a/drivers/clk/davinci/da8xx-cfgchip.c b/drivers/clk/davinci/da8xx-cfgchip.c
index ad2d0df43dc6..5ea0c072bfbe 100644
--- a/drivers/clk/davinci/da8xx-cfgchip.c
+++ b/drivers/clk/davinci/da8xx-cfgchip.c
@@ -749,11 +749,9 @@  static int da8xx_cfgchip_probe(struct platform_device *pdev)
 
 	clk_init = device_get_match_data(dev);
 	if (clk_init) {
-		struct device_node *parent;
+		struct device_node *parent __free(device_node) = of_get_parent(dev->of_node);
 
-		parent = of_get_parent(dev->of_node);
 		regmap = syscon_node_to_regmap(parent);
-		of_node_put(parent);
 	} else if (pdev->id_entry && pdata) {
 		clk_init = (void *)pdev->id_entry->driver_data;
 		regmap = pdata->cfgchip;