Add __free(device_node) to the parent_node struct declaration.
Move declaration to initialization for ensuring scope sanity.
Remove of_node_put from parent_node struct.

Suggested-by: Julia Lawall <julia.law...@inria.fr>
Signed-off-by: Abhinav Jain <jain.abhinav...@gmail.com>
---
 fs/pstore/ram.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c
index b1a455f42e93..14f2f4864e48 100644
--- a/fs/pstore/ram.c
+++ b/fs/pstore/ram.c
@@ -644,7 +644,6 @@ static int ramoops_parse_dt(struct platform_device *pdev,
                            struct ramoops_platform_data *pdata)
 {
        struct device_node *of_node = pdev->dev.of_node;
-       struct device_node *parent_node;
        struct resource *res;
        u32 value;
        int ret;
@@ -704,14 +703,13 @@ static int ramoops_parse_dt(struct platform_device *pdev,
         * we're not a child of "reserved-memory" and mimicking the
         * expected behavior.
         */
-       parent_node = of_get_parent(of_node);
+       struct device_node *parent_node __free(device_node) = 
of_node_parent(of_node);
        if (!of_node_name_eq(parent_node, "reserved-memory") &&
            !pdata->console_size && !pdata->ftrace_size &&
            !pdata->pmsg_size && !pdata->ecc_info.ecc_size) {
                pdata->console_size = pdata->record_size;
                pdata->pmsg_size = pdata->record_size;
        }
-       of_node_put(parent_node);
 
        return 0;
 }
-- 
2.34.1


Reply via email to