The helper drm_simple_encoder_init() is a thin wrapper around drm_encoder_init() with a simple destroy-only encoder funcs struct. Remove the dependency on drm_simple_kms_helper by open-coding the encoder initialization directly in the driver.
Signed-off-by: Naman Arora <[email protected]> --- drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c index 84eff7519..a16c6013e 100644 --- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c +++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c @@ -14,11 +14,14 @@ #include <drm/drm_of.h> #include <drm/drm_panel.h> #include <drm/drm_probe_helper.h> -#include <drm/drm_simple_kms_helper.h> #include "fsl_dcu_drm_drv.h" #include "fsl_tcon.h" +static const struct drm_encoder_funcs fsl_dcu_drm_encoder_funcs = { + .destroy = drm_encoder_cleanup, +}; + int fsl_dcu_drm_encoder_create(struct fsl_dcu_drm_device *fsl_dev, struct drm_crtc *crtc) { @@ -31,8 +34,9 @@ int fsl_dcu_drm_encoder_create(struct fsl_dcu_drm_device *fsl_dev, if (fsl_dev->tcon) fsl_tcon_bypass_enable(fsl_dev->tcon); - ret = drm_simple_encoder_init(fsl_dev->drm, encoder, - DRM_MODE_ENCODER_LVDS); + ret = drm_encoder_init(fsl_dev->drm, encoder, + &fsl_dcu_drm_encoder_funcs, + DRM_MODE_ENCODER_LVDS, NULL); if (ret < 0) return ret; -- 2.20.1
