Re: [PATCH] gpu: ipu-v3: Removal of of_node_put with __free for auto cleanup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02/07/2024 17:01, Abhinav Jain wrote:
> Remove of_node_put for device node prg_node.
> 
> Suggested-by: Julia Lawall <julia.lawall@xxxxxxxx>
> Signed-off-by: Abhinav Jain <jain.abhinav177@xxxxxxxxx>
> ---
>  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



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux