nvmem: meson-efuse: Replacing the use of of_node_put to __free
authorMarileneGarcia <marilene.agarcia@gmail.com>
Fri, 5 Jul 2024 07:48:40 +0000 (08:48 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 5 Jul 2024 07:55:04 +0000 (09:55 +0200)
Use __free for device_node values, and thus drop calls to
of_node_put.

The goal is to reduce memory management issues by using this
scope-based of_node_put() cleanup to simplify function exit
handling. When using __free a resource is allocated within a
block, it is automatically freed at the end of the block.

Suggested-by: Julia Lawall <julia.lawall@inria.fr>
Signed-off-by: MarileneGarcia <marilene.agarcia@gmail.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20240705074852.423202-4-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/nvmem/meson-efuse.c

index 33678d0..52ed9a6 100644 (file)
@@ -42,20 +42,19 @@ static int meson_efuse_probe(struct platform_device *pdev)
 {
        struct device *dev = &pdev->dev;
        struct meson_sm_firmware *fw;
-       struct device_node *sm_np;
        struct nvmem_device *nvmem;
        struct nvmem_config *econfig;
        struct clk *clk;
        unsigned int size;
+       struct device_node *sm_np __free(device_node) =
+                       of_parse_phandle(pdev->dev.of_node, "secure-monitor", 0);
 
-       sm_np = of_parse_phandle(pdev->dev.of_node, "secure-monitor", 0);
        if (!sm_np) {
                dev_err(&pdev->dev, "no secure-monitor node\n");
                return -ENODEV;
        }
 
        fw = meson_sm_get(sm_np);
-       of_node_put(sm_np);
        if (!fw)
                return -EPROBE_DEFER;