Re: [PATCH v1] drm/mediatek: mtk_dsi: Open-code drm_simple_encoder_init()

CK Hu (胡俊光) <[email protected]>
Newsgroups org.freedesktop.lists.dri-devel,org.infradead.lists.linux-arm-kernel,org.infradead.lists.linux-mediatek,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
On Fri, 2026-08-14 at 01:55 +0800, Sean Chang wrote:
> External email : Please do not click links or open attachments until you have verified the sender or the content.
> 
> 
> The drm_simple_encoder_init() helper is deprecated because it adds an
> intermediate abstraction layer that only wraps drm_encoder_init() with
> an empty or minimal drm_encoder_funcs struct.
> 
> Replace drm_simple_encoder_init() with explicit calls to drm_encoder_init()
> and define driver-specific drm_encoder_funcs carrying the cleanup callback.
> 
> Signed-off-by: Sean Chang <[email protected]>
> ---
>  drivers/gpu/drm/mediatek/mtk_dsi.c | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c
> index 49dfc0f825cb..276d57f8407b 100644
> --- a/drivers/gpu/drm/mediatek/mtk_dsi.c
> +++ b/drivers/gpu/drm/mediatek/mtk_dsi.c

Replace 

#include <drm/drm_simple_kms_helper.h>

with
 
#include <drm/drm_encoder.h>
 
> @@ -226,6 +226,10 @@ struct mtk_dsi {
>         const struct mtk_dsi_driver_data *driver_data;
>  };
> 
> +static const struct drm_encoder_funcs mtk_dsi_encoder_funcs = {
> +       .destroy = drm_encoder_cleanup,
> +};
> +

Align to mtk_dpi.c, move this function just before mtk_dsi_ddp_start().

Regards,
CK

>  static inline struct mtk_dsi *bridge_to_dsi(struct drm_bridge *b)
>  {
>         return container_of(b, struct mtk_dsi, bridge);
> @@ -918,8 +922,9 @@ static int mtk_dsi_encoder_init(struct drm_device *drm, struct mtk_dsi *dsi)
>  {
>         int ret;
> 
> -       ret = drm_simple_encoder_init(drm, &dsi->encoder,
> -                                     DRM_MODE_ENCODER_DSI);
> +       ret = drm_encoder_init(drm, &dsi->encoder,
> +                              &mtk_dsi_encoder_funcs,
> +                              DRM_MODE_ENCODER_DSI, NULL);
>         if (ret) {
>                 drm_err(drm, "Failed to encoder init to drm\n");
>                 return ret;
> --
> 2.43.0
> 
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.