linux-amlogic.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] nvmem: meson-efuse: Replacing the use of of_node_put to __free
@ 2024-04-16  1:17 MarileneGarcia
  2024-05-15  2:29 ` Marilene Andrade Garcia
  0 siblings, 1 reply; 3+ messages in thread
From: MarileneGarcia @ 2024-04-16  1:17 UTC (permalink / raw)
  To: Srinivas Kandagatla, Neil Armstrong, Kevin Hilman, Jerome Brunet,
	Martin Blumenstingl, Julia Lawall
  Cc: MarileneGarcia, Shuah Khan, Javier Carrasco, linux-arm-kernel,
	linux-amlogic, linux-kernel

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>
---
 drivers/nvmem/meson-efuse.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/nvmem/meson-efuse.c b/drivers/nvmem/meson-efuse.c
index 33678d0af2c2..400a9a075e53 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;
 
-- 
2.34.1


_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] nvmem: meson-efuse: Replacing the use of of_node_put to __free
  2024-04-16  1:17 [PATCH] nvmem: meson-efuse: Replacing the use of of_node_put to __free MarileneGarcia
@ 2024-05-15  2:29 ` Marilene Andrade Garcia
  2024-05-15  7:38   ` Julia Lawall
  0 siblings, 1 reply; 3+ messages in thread
From: Marilene Andrade Garcia @ 2024-05-15  2:29 UTC (permalink / raw)
  To: Srinivas Kandagatla, Neil Armstrong, Kevin Hilman, Jerome Brunet,
	Martin Blumenstingl, Julia Lawall
  Cc: Shuah Khan, Javier Carrasco, linux-arm-kernel, linux-amlogic,
	linux-kernel

On 15/04/2024 22:17, MarileneGarcia wrote:
> 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>
> ---
>   drivers/nvmem/meson-efuse.c | 5 ++---
>   1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/nvmem/meson-efuse.c b/drivers/nvmem/meson-efuse.c
> index 33678d0af2c2..400a9a075e53 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;
>   

Hello everyone,
Did you have a chance to look at the patch? Any questions or suggestions 
about it?

Thank you,
Marilene

_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] nvmem: meson-efuse: Replacing the use of of_node_put to __free
  2024-05-15  2:29 ` Marilene Andrade Garcia
@ 2024-05-15  7:38   ` Julia Lawall
  0 siblings, 0 replies; 3+ messages in thread
From: Julia Lawall @ 2024-05-15  7:38 UTC (permalink / raw)
  To: Marilene Andrade Garcia
  Cc: Srinivas Kandagatla, Neil Armstrong, Kevin Hilman, Jerome Brunet,
	Martin Blumenstingl, Shuah Khan, Javier Carrasco,
	linux-arm-kernel, linux-amlogic, linux-kernel



On Tue, 14 May 2024, Marilene Andrade Garcia wrote:

> On 15/04/2024 22:17, MarileneGarcia wrote:
> > 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>
> > ---
> >   drivers/nvmem/meson-efuse.c | 5 ++---
> >   1 file changed, 2 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/nvmem/meson-efuse.c b/drivers/nvmem/meson-efuse.c
> > index 33678d0af2c2..400a9a075e53 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);

There should be a blank line after the last variable declaration, so here.

julia

> >   	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;
> >
>
> Hello everyone,
> Did you have a chance to look at the patch? Any questions or suggestions about
> it?
>
> Thank you,
> Marilene
>

_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-05-15  7:38 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-16  1:17 [PATCH] nvmem: meson-efuse: Replacing the use of of_node_put to __free MarileneGarcia
2024-05-15  2:29 ` Marilene Andrade Garcia
2024-05-15  7:38   ` Julia Lawall

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).