[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <035757b1-5dc5-4966-9eaf-a52b707bd48e@gmail.com>
Date: Tue, 2 Jul 2024 17:29:14 +0200
From: Javier Carrasco <javier.carrasco.cruz@...il.com>
To: Abhinav Jain <jain.abhinav177@...il.com>, p.zabel@...gutronix.de,
airlied@...il.com, daniel@...ll.ch, dri-devel@...ts.freedesktop.org,
linux-kernel@...r.kernel.org
Cc: skhan@...uxfoundation.org, julia.lawall@...ia.fr
Subject: Re: [PATCH] gpu: ipu-v3: Removal of of_node_put with __free for auto
cleanup
On 02/07/2024 17:01, Abhinav Jain wrote:
> Remove of_node_put for device node prg_node.
>
> Suggested-by: Julia Lawall <julia.lawall@...ia.fr>
> Signed-off-by: Abhinav Jain <jain.abhinav177@...il.com>
> ---
> drivers/gpu/ipu-v3/ipu-prg.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/ipu-v3/ipu-prg.c b/drivers/gpu/ipu-v3/ipu-prg.c
> index 729605709955..d1f46bc761ec 100644
> --- a/drivers/gpu/ipu-v3/ipu-prg.c
> +++ b/drivers/gpu/ipu-v3/ipu-prg.c
> @@ -84,8 +84,8 @@ static LIST_HEAD(ipu_prg_list);
> struct ipu_prg *
> ipu_prg_lookup_by_phandle(struct device *dev, const char *name, int ipu_id)
> {
> - struct device_node *prg_node = of_parse_phandle(dev->of_node,
> - name, 0);
> + struct device_node *prg_node __free(device_node) =
> + of_parse_phandle(dev->of_node, name, 0);
> struct ipu_prg *prg;
>
> mutex_lock(&ipu_prg_list_mutex);
> @@ -95,14 +95,11 @@ ipu_prg_lookup_by_phandle(struct device *dev, const char *name, int ipu_id)
> device_link_add(dev, prg->dev,
> DL_FLAG_AUTOREMOVE_CONSUMER);
> prg->id = ipu_id;
> - of_node_put(prg_node);
> return prg;
> }
> }
> mutex_unlock(&ipu_prg_list_mutex);
>
> - of_node_put(prg_node);
> -
> return NULL;
> }
>
Hi Abhinav,
Apart form having sent two different patches with the same title (hence
the confusion), this cleanup is right from a functional point of view.
On the other hand, the description should address why you are doing this
cleanup (e.g. to remove the need for explicit of_node_put() when the
variable goes out of scope). The need for of_node_put() does no vanish,
it is only automated and no longer visible at first glance by means of
the cleanup attribute.
Best regards,
Javier Carrasco
Powered by blists - more mailing lists