[PATCH v2] drm/tidss: oldi: convert to devm_drm_bridge_alloc() API

Jayesh Choudhary posted 1 patch 2 months, 3 weeks ago
drivers/gpu/drm/tidss/tidss_oldi.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
[PATCH v2] drm/tidss: oldi: convert to devm_drm_bridge_alloc() API
Posted by Jayesh Choudhary 2 months, 3 weeks ago
DRM bridges now use "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")
Reviewed-by: Devarsh Thakkar <devarsht@ti.com>
Reviewed-by: Aradhya Bhatia <aradhya.bhatia@linux.dev>
Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
---

Changelog v1->v2:
- Fix typo in commit message
- Put the oldi parent and child node in case of error before returning
  (as pointed out by Aradhya in v1)
- Pick up "R-by" tags

v1 patch link:
<https://lore.kernel.org/all/20250701055002.52336-1-j-choudhary@ti.com/>

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

diff --git a/drivers/gpu/drm/tidss/tidss_oldi.c b/drivers/gpu/drm/tidss/tidss_oldi.c
index 8223b8fec8ce..8f25159d0666 100644
--- a/drivers/gpu/drm/tidss/tidss_oldi.c
+++ b/drivers/gpu/drm/tidss/tidss_oldi.c
@@ -534,9 +534,10 @@ int tidss_oldi_init(struct tidss_device *tidss)
 			continue;
 		}
 
-		oldi = devm_kzalloc(tidss->dev, sizeof(*oldi), GFP_KERNEL);
-		if (!oldi) {
-			ret = -ENOMEM;
+		oldi = devm_drm_bridge_alloc(tidss->dev, struct tidss_oldi, bridge,
+					     &tidss_oldi_bridge_funcs);
+		if (IS_ERR(oldi)) {
+			ret = PTR_ERR(oldi);
 			goto err_put_node;
 		}
 
@@ -577,7 +578,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
Re: [PATCH v2] drm/tidss: oldi: convert to devm_drm_bridge_alloc() API
Posted by Tomi Valkeinen 2 months, 2 weeks ago
Hi,

On 14/07/2025 13:45, Jayesh Choudhary wrote:
> DRM bridges now use "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")
> Reviewed-by: Devarsh Thakkar <devarsht@ti.com>
> Reviewed-by: Aradhya Bhatia <aradhya.bhatia@linux.dev>
> Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
> ---
> 
> Changelog v1->v2:
> - Fix typo in commit message
> - Put the oldi parent and child node in case of error before returning
>   (as pointed out by Aradhya in v1)
> - Pick up "R-by" tags
> 
> v1 patch link:
> <https://lore.kernel.org/all/20250701055002.52336-1-j-choudhary@ti.com/>
> 
>  drivers/gpu/drm/tidss/tidss_oldi.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/tidss/tidss_oldi.c b/drivers/gpu/drm/tidss/tidss_oldi.c
> index 8223b8fec8ce..8f25159d0666 100644
> --- a/drivers/gpu/drm/tidss/tidss_oldi.c
> +++ b/drivers/gpu/drm/tidss/tidss_oldi.c
> @@ -534,9 +534,10 @@ int tidss_oldi_init(struct tidss_device *tidss)
>  			continue;
>  		}
>  
> -		oldi = devm_kzalloc(tidss->dev, sizeof(*oldi), GFP_KERNEL);
> -		if (!oldi) {
> -			ret = -ENOMEM;
> +		oldi = devm_drm_bridge_alloc(tidss->dev, struct tidss_oldi, bridge,
> +					     &tidss_oldi_bridge_funcs);
> +		if (IS_ERR(oldi)) {
> +			ret = PTR_ERR(oldi);
>  			goto err_put_node;
>  		}
>  
> @@ -577,7 +578,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;

Thanks, I'll pick this up.

 Tomi