Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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 <mwalle@kernel.org>
Link: https://lore.kernel.org/r/20250716134107.4084945-1-mwalle@kernel.org
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>

authored by

Michael Walle and committed by
Tomi Valkeinen
66cdf05f fe69a391

+7 -3
+7 -3
drivers/gpu/drm/tidss/tidss_encoder.c
··· 90 90 struct drm_connector *connector; 91 91 int ret; 92 92 93 - t_enc = drmm_simple_encoder_alloc(&tidss->ddev, struct tidss_encoder, 94 - encoder, encoder_type); 93 + t_enc = devm_drm_bridge_alloc(tidss->dev, struct tidss_encoder, 94 + bridge, &tidss_bridge_funcs); 95 95 if (IS_ERR(t_enc)) 96 96 return PTR_ERR(t_enc); 97 97 98 + ret = drm_simple_encoder_init(&tidss->ddev, &t_enc->encoder, 99 + encoder_type); 100 + if (ret) 101 + return ret; 102 + 98 103 t_enc->tidss = tidss; 99 104 t_enc->next_bridge = next_bridge; 100 - t_enc->bridge.funcs = &tidss_bridge_funcs; 101 105 102 106 enc = &t_enc->encoder; 103 107 enc->possible_crtcs = possible_crtcs;