The simple KMS helpers are deprecated because they only add an intermediate layer between drivers and atomic modesetting.
Open-code drm_simple_encoder_init() by calling drm_encoder_init() directly and providing driver-local drm_encoder_funcs. Signed-off-by: Diogo Silva <[email protected]> --- drivers/gpu/drm/arm/display/komeda/komeda_crtc.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c b/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c index e8cb782a6f8e..719568d9f7c2 100644 --- a/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c +++ b/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c @@ -11,9 +11,9 @@ #include <drm/drm_atomic.h> #include <drm/drm_atomic_helper.h> +#include <drm/drm_encoder.h> #include <drm/drm_print.h> #include <drm/drm_vblank.h> -#include <drm/drm_simple_kms_helper.h> #include <drm/drm_bridge.h> #include "komeda_dev.h" @@ -635,6 +635,10 @@ static int komeda_attach_bridge(struct device *dev, return err; } +static const struct drm_encoder_funcs komeda_encoder_funcs = { + .destroy = drm_encoder_cleanup, +}; + static int komeda_crtc_add(struct komeda_kms_dev *kms, struct komeda_crtc *kcrtc) { @@ -658,7 +662,8 @@ static int komeda_crtc_add(struct komeda_kms_dev *kms, * bridge */ kcrtc->encoder.possible_crtcs = drm_crtc_mask(crtc); - err = drm_simple_encoder_init(base, encoder, DRM_MODE_ENCODER_TMDS); + err = drm_encoder_init(base, encoder, &komeda_encoder_funcs, + DRM_MODE_ENCODER_TMDS, NULL); if (err) return err; -- 2.54.0

