summaryrefslogtreecommitdiffstats
path: root/drivers/nvmem/meson-efuse.c
diff options
context:
space:
mode:
authorMarileneGarcia <marilene.agarcia@gmail.com>2024-07-05 09:48:40 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-07-05 09:55:04 +0200
commit5fecb932607d83d37a703c731268e9d9051457f5 (patch)
tree3e7acee80ac0e04ab2d99c432b6dd6173e64f98a /drivers/nvmem/meson-efuse.c
parentdt-bindings: nvmem: mediatek: efuse: add support for MT7981 (diff)
downloadlinux-5fecb932607d83d37a703c731268e9d9051457f5.tar.xz
linux-5fecb932607d83d37a703c731268e9d9051457f5.zip
nvmem: meson-efuse: Replacing the use of of_node_put to __free
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>
Diffstat (limited to 'drivers/nvmem/meson-efuse.c')
-rw-r--r--drivers/nvmem/meson-efuse.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/nvmem/meson-efuse.c b/drivers/nvmem/meson-efuse.c
index 33678d0af2c2..52ed9a62ca5b 100644
--- a/drivers/nvmem/meson-efuse.c
+++ b/drivers/nvmem/meson-efuse.c
@@ -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;