From 66cdf05f8548e27a5ad274f0b25db284871eb75e Mon Sep 17 00:00:00 2001 From: Michael Walle Date: Wed, 16 Jul 2025 15:41:07 +0200 Subject: [PATCH 1/2] drm/tidss: encoder: convert to devm_drm_bridge_alloc() Convert the tidss encoder to use devm_drm_bridge_alloc(). Instead of allocating the memory by drmm_simple_encoder_alloc() use devm_drm_bridge_alloc() and initialize the encoder afterwards. Fixes: a7748dd127ea ("drm/bridge: get/put the bridge reference in drm_bridge_add/remove()") Signed-off-by: Michael Walle Link: https://lore.kernel.org/r/20250716134107.4084945-1-mwalle@kernel.org Signed-off-by: Tomi Valkeinen --- drivers/gpu/drm/tidss/tidss_encoder.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/tidss/tidss_encoder.c b/drivers/gpu/drm/tidss/tidss_encoder.c index 95b4aeff2775..81a04f767770 100644 --- a/drivers/gpu/drm/tidss/tidss_encoder.c +++ b/drivers/gpu/drm/tidss/tidss_encoder.c @@ -90,14 +90,18 @@ int tidss_encoder_create(struct tidss_device *tidss, struct drm_connector *connector; int ret; - t_enc = drmm_simple_encoder_alloc(&tidss->ddev, struct tidss_encoder, - encoder, encoder_type); + t_enc = devm_drm_bridge_alloc(tidss->dev, struct tidss_encoder, + bridge, &tidss_bridge_funcs); if (IS_ERR(t_enc)) return PTR_ERR(t_enc); + ret = drm_simple_encoder_init(&tidss->ddev, &t_enc->encoder, + encoder_type); + if (ret) + return ret; + t_enc->tidss = tidss; t_enc->next_bridge = next_bridge; - t_enc->bridge.funcs = &tidss_bridge_funcs; enc = &t_enc->encoder; enc->possible_crtcs = possible_crtcs; From b213eb34f857c45bdd769c9e9191a386accc9e8f Mon Sep 17 00:00:00 2001 From: Jayesh Choudhary Date: Mon, 14 Jul 2025 16:15:54 +0530 Subject: [PATCH 2/2] drm/tidss: oldi: convert to devm_drm_bridge_alloc() API 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 Reviewed-by: Aradhya Bhatia Signed-off-by: Jayesh Choudhary Link: https://lore.kernel.org/r/20250714104554.13441-1-j-choudhary@ti.com Signed-off-by: Tomi Valkeinen --- 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;