From: Shivam Kalra Date: Fri, 3 Apr 2026 12:00:26 +0000 (+0530) Subject: drm/mediatek: mtk_dpi: Open-code drm_simple_encoder_init() X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=13703c8ee79be7f5237358053262890de0fb1e74;p=thirdparty%2Flinux.git drm/mediatek: mtk_dpi: Open-code drm_simple_encoder_init() The helper drm_simple_encoder_init() is a trivial wrapper around drm_encoder_init() that only provides a static drm_encoder_funcs with .destroy set to drm_encoder_cleanup(). Open-code the initialization with a driver-specific instance of drm_encoder_funcs and remove the dependency on drm_simple_kms_helper. Suggested-by: Thomas Zimmermann Signed-off-by: Shivam Kalra Reviewed-by: Thomas Zimmermann Reviewed-by: CK Hu Link: https://patchwork.kernel.org/project/dri-devel/patch/20260403-drm-mediatek-opencode-encoder-init-v1-1-7be86241b876@zohomail.in/ Signed-off-by: Chun-Kuang Hu --- diff --git a/drivers/gpu/drm/mediatek/mtk_dpi.c b/drivers/gpu/drm/mediatek/mtk_dpi.c index 53360b5d12ba5..5b83ca6aecb29 100644 --- a/drivers/gpu/drm/mediatek/mtk_dpi.c +++ b/drivers/gpu/drm/mediatek/mtk_dpi.c @@ -25,8 +25,8 @@ #include #include #include +#include #include -#include #include "mtk_ddp_comp.h" #include "mtk_disp_drv.h" @@ -993,6 +993,10 @@ static const struct drm_bridge_funcs mtk_dpi_bridge_funcs = { .debugfs_init = mtk_dpi_debugfs_init, }; +static const struct drm_encoder_funcs mtk_dpi_encoder_funcs = { + .destroy = drm_encoder_cleanup, +}; + void mtk_dpi_start(struct device *dev) { struct mtk_dpi *dpi = dev_get_drvdata(dev); @@ -1026,8 +1030,8 @@ static int mtk_dpi_bind(struct device *dev, struct device *master, void *data) int ret; dpi->mmsys_dev = priv->mmsys_dev; - ret = drm_simple_encoder_init(drm_dev, &dpi->encoder, - DRM_MODE_ENCODER_TMDS); + ret = drm_encoder_init(drm_dev, &dpi->encoder, &mtk_dpi_encoder_funcs, + DRM_MODE_ENCODER_TMDS, NULL); if (ret) { dev_err(dev, "Failed to initialize decoder: %d\n", ret); return ret;