dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] drm/tidss: oldi: convert to devm_drm_bridge_alloc() API
@ 2025-07-01  5:50 Jayesh Choudhary
  2025-07-08  6:21 ` Devarsh Thakkar
  2025-07-09 22:07 ` Aradhya Bhatia
  0 siblings, 2 replies; 3+ messages in thread
From: Jayesh Choudhary @ 2025-07-01  5:50 UTC (permalink / raw)
  To: jyri.sarha, maarten.lankhorst, mripard, tzimmermann, dri-devel,
	devarsht, tomi.valkeinen
  Cc: airlied, simona, linux-kernel, j-choudhary

DRM bridges now uses "devm_drm_bridge_alloc()" for allocation and
initialization. "devm_kzalloc()" is not allowed anymore and it results
in WARNING. So convert it.

Fixes: 7246e0929945 ("drm/tidss: Add OLDI bridge support")
Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
---

Warning log:
<https://gist.github.com/Jayesh2000/e42c235bb57cb0f0af06c8c3bf886ef2>

 drivers/gpu/drm/tidss/tidss_oldi.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/tidss/tidss_oldi.c b/drivers/gpu/drm/tidss/tidss_oldi.c
index 8223b8fec8ce..b0f99656e87e 100644
--- a/drivers/gpu/drm/tidss/tidss_oldi.c
+++ b/drivers/gpu/drm/tidss/tidss_oldi.c
@@ -534,11 +534,10 @@ int tidss_oldi_init(struct tidss_device *tidss)
 			continue;
 		}
 
-		oldi = devm_kzalloc(tidss->dev, sizeof(*oldi), GFP_KERNEL);
-		if (!oldi) {
-			ret = -ENOMEM;
-			goto err_put_node;
-		}
+		oldi = devm_drm_bridge_alloc(tidss->dev, struct tidss_oldi, bridge,
+					     &tidss_oldi_bridge_funcs);
+		if (IS_ERR(oldi))
+			return PTR_ERR(oldi);
 
 		oldi->parent_vp = parent_vp;
 		oldi->oldi_instance = oldi_instance;
@@ -577,7 +576,6 @@ int tidss_oldi_init(struct tidss_device *tidss)
 		/* Register the bridge. */
 		oldi->bridge.of_node = child;
 		oldi->bridge.driver_private = oldi;
-		oldi->bridge.funcs = &tidss_oldi_bridge_funcs;
 		oldi->bridge.timings = &default_tidss_oldi_timings;
 
 		tidss->oldis[tidss->num_oldis++] = oldi;
-- 
2.34.1


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

* Re: [PATCH] drm/tidss: oldi: convert to devm_drm_bridge_alloc() API
  2025-07-01  5:50 [PATCH] drm/tidss: oldi: convert to devm_drm_bridge_alloc() API Jayesh Choudhary
@ 2025-07-08  6:21 ` Devarsh Thakkar
  2025-07-09 22:07 ` Aradhya Bhatia
  1 sibling, 0 replies; 3+ messages in thread
From: Devarsh Thakkar @ 2025-07-08  6:21 UTC (permalink / raw)
  To: Jayesh Choudhary, jyri.sarha, maarten.lankhorst, mripard,
	tzimmermann, dri-devel, tomi.valkeinen
  Cc: airlied, simona, linux-kernel

On 01/07/25 11:20, Jayesh Choudhary wrote:
> DRM bridges now uses "devm_drm_bridge_alloc()" for allocation and

s/uses/use

> initialization. "devm_kzalloc()" is not allowed anymore and it results
> in WARNING. So convert it.
> 
> Fixes: 7246e0929945 ("drm/tidss: Add OLDI bridge support")
> Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>

Reviewed-by: Devarsh Thakkar <devarsht@ti.com>

Regards
Devarsh

> ---
> 
> Warning log:
> <https://gist.github.com/Jayesh2000/e42c235bb57cb0f0af06c8c3bf886ef2>
> 
>   drivers/gpu/drm/tidss/tidss_oldi.c | 10 ++++------
>   1 file changed, 4 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/tidss/tidss_oldi.c b/drivers/gpu/drm/tidss/tidss_oldi.c
> index 8223b8fec8ce..b0f99656e87e 100644
> --- a/drivers/gpu/drm/tidss/tidss_oldi.c
> +++ b/drivers/gpu/drm/tidss/tidss_oldi.c
> @@ -534,11 +534,10 @@ int tidss_oldi_init(struct tidss_device *tidss)
>   			continue;
>   		}
>   
> -		oldi = devm_kzalloc(tidss->dev, sizeof(*oldi), GFP_KERNEL);
> -		if (!oldi) {
> -			ret = -ENOMEM;
> -			goto err_put_node;
> -		}
> +		oldi = devm_drm_bridge_alloc(tidss->dev, struct tidss_oldi, bridge,
> +					     &tidss_oldi_bridge_funcs);
> +		if (IS_ERR(oldi))
> +			return PTR_ERR(oldi);
>   
>   		oldi->parent_vp = parent_vp;
>   		oldi->oldi_instance = oldi_instance;
> @@ -577,7 +576,6 @@ int tidss_oldi_init(struct tidss_device *tidss)
>   		/* Register the bridge. */
>   		oldi->bridge.of_node = child;
>   		oldi->bridge.driver_private = oldi;
> -		oldi->bridge.funcs = &tidss_oldi_bridge_funcs;
>   		oldi->bridge.timings = &default_tidss_oldi_timings;
>   
>   		tidss->oldis[tidss->num_oldis++] = oldi;

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

* Re: [PATCH] drm/tidss: oldi: convert to devm_drm_bridge_alloc() API
  2025-07-01  5:50 [PATCH] drm/tidss: oldi: convert to devm_drm_bridge_alloc() API Jayesh Choudhary
  2025-07-08  6:21 ` Devarsh Thakkar
@ 2025-07-09 22:07 ` Aradhya Bhatia
  1 sibling, 0 replies; 3+ messages in thread
From: Aradhya Bhatia @ 2025-07-09 22:07 UTC (permalink / raw)
  To: Jayesh Choudhary, jyri.sarha, maarten.lankhorst, mripard,
	tzimmermann, dri-devel, devarsht, tomi.valkeinen
  Cc: airlied, simona, linux-kernel

Hi Jayesh,

Thank you for testing the OLDI series out, and finding and reporting the
issue.

On 01/07/25 06:50, Jayesh Choudhary wrote:
> DRM bridges now uses "devm_drm_bridge_alloc()" for allocation and
> initialization. "devm_kzalloc()" is not allowed anymore and it results
> in WARNING. So convert it.
> 
> Fixes: 7246e0929945 ("drm/tidss: Add OLDI bridge support")
> Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
> ---
> 
> Warning log:
> <https://gist.github.com/Jayesh2000/e42c235bb57cb0f0af06c8c3bf886ef2>
> 
>  drivers/gpu/drm/tidss/tidss_oldi.c | 10 ++++------
>  1 file changed, 4 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/tidss/tidss_oldi.c b/drivers/gpu/drm/tidss/tidss_oldi.c
> index 8223b8fec8ce..b0f99656e87e 100644
> --- a/drivers/gpu/drm/tidss/tidss_oldi.c
> +++ b/drivers/gpu/drm/tidss/tidss_oldi.c
> @@ -534,11 +534,10 @@ int tidss_oldi_init(struct tidss_device *tidss)
>  			continue;
>  		}
>  
> -		oldi = devm_kzalloc(tidss->dev, sizeof(*oldi), GFP_KERNEL);
> -		if (!oldi) {
> -			ret = -ENOMEM;
> -			goto err_put_node;
> -		}
> +		oldi = devm_drm_bridge_alloc(tidss->dev, struct tidss_oldi, bridge,
> +					     &tidss_oldi_bridge_funcs);
> +		if (IS_ERR(oldi))
> +			return PTR_ERR(oldi);

The 'child' and 'oldi_parent' device nodes need to be put back before
the error is returned.

This should do it.
	
	ret = PTR_ERR(oldi);
	goto err_put_node;

>  
>  		oldi->parent_vp = parent_vp;
>  		oldi->oldi_instance = oldi_instance;
> @@ -577,7 +576,6 @@ int tidss_oldi_init(struct tidss_device *tidss)
>  		/* Register the bridge. */
>  		oldi->bridge.of_node = child;
>  		oldi->bridge.driver_private = oldi;
> -		oldi->bridge.funcs = &tidss_oldi_bridge_funcs;
>  		oldi->bridge.timings = &default_tidss_oldi_timings;
>  
>  		tidss->oldis[tidss->num_oldis++] = oldi;

With that changed,

Reviewed-by: Aradhya Bhatia <aradhya.bhatia@linux.dev>

-- 
Regards
Aradhya


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

end of thread, other threads:[~2025-07-09 22:07 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-01  5:50 [PATCH] drm/tidss: oldi: convert to devm_drm_bridge_alloc() API Jayesh Choudhary
2025-07-08  6:21 ` Devarsh Thakkar
2025-07-09 22:07 ` Aradhya Bhatia

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).