drm/stm: ltdc: Use simple encoder
authorJagan Teki <jagan@amarulasolutions.com>
Tue, 2 Mar 2021 17:57:00 +0000 (23:27 +0530)
committerPhilippe Cornu <philippe.cornu@foss.st.com>
Mon, 8 Mar 2021 10:40:29 +0000 (11:40 +0100)
STM ltdc driver uses an empty implementation for its encoder.
Replace the code with the generic simple encoder.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Tested-by: Yannick Fertre <yannick.fertre@foss.st.com>
Signed-off-by: Philippe Cornu <philippe.cornu@foss.st.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210302175700.28640-1-jagan@amarulasolutions.com
drivers/gpu/drm/stm/ltdc.c

index b5117fc..65c3c79 100644 (file)
@@ -31,6 +31,7 @@
 #include <drm/drm_of.h>
 #include <drm/drm_plane_helper.h>
 #include <drm/drm_probe_helper.h>
+#include <drm/drm_simple_kms_helper.h>
 #include <drm/drm_vblank.h>
 
 #include <video/videomode.h>
@@ -1054,14 +1055,6 @@ cleanup:
        return ret;
 }
 
-/*
- * DRM_ENCODER
- */
-
-static const struct drm_encoder_funcs ltdc_encoder_funcs = {
-       .destroy = drm_encoder_cleanup,
-};
-
 static void ltdc_encoder_disable(struct drm_encoder *encoder)
 {
        struct drm_device *ddev = encoder->dev;
@@ -1122,8 +1115,7 @@ static int ltdc_encoder_init(struct drm_device *ddev, struct drm_bridge *bridge)
        encoder->possible_crtcs = CRTC_MASK;
        encoder->possible_clones = 0;   /* No cloning support */
 
-       drm_encoder_init(ddev, encoder, &ltdc_encoder_funcs,
-                        DRM_MODE_ENCODER_DPI, NULL);
+       drm_simple_encoder_init(ddev, encoder, DRM_MODE_ENCODER_DPI);
 
        drm_encoder_helper_add(encoder, &ltdc_encoder_helper_funcs);