drm/tilcdc: Use simple encoder
authorThomas Zimmermann <tzimmermann@suse.de>
Thu, 5 Mar 2020 15:59:45 +0000 (16:59 +0100)
committerThomas Zimmermann <tzimmermann@suse.de>
Thu, 2 Apr 2020 12:16:45 +0000 (14:16 +0200)
The tilcdc driver uses empty implementations for its encoders. Replace
the code with the generic simple encoder.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Acked-by: Jyri Sarha <jsarha@ti.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200305155950.2705-18-tzimmermann@suse.de
drivers/gpu/drm/tilcdc/tilcdc_external.c
drivers/gpu/drm/tilcdc/tilcdc_panel.c

index 28b7f70..b177525 100644 (file)
@@ -10,6 +10,7 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_bridge.h>
 #include <drm/drm_of.h>
+#include <drm/drm_simple_kms_helper.h>
 
 #include "tilcdc_drv.h"
 #include "tilcdc_external.h"
@@ -83,10 +84,6 @@ int tilcdc_add_component_encoder(struct drm_device *ddev)
        return 0;
 }
 
-static const struct drm_encoder_funcs tilcdc_external_encoder_funcs = {
-       .destroy        = drm_encoder_cleanup,
-};
-
 static
 int tilcdc_attach_bridge(struct drm_device *ddev, struct drm_bridge *bridge)
 {
@@ -131,9 +128,8 @@ int tilcdc_attach_external_device(struct drm_device *ddev)
        if (!priv->external_encoder)
                return -ENOMEM;
 
-       ret = drm_encoder_init(ddev, priv->external_encoder,
-                              &tilcdc_external_encoder_funcs,
-                              DRM_MODE_ENCODER_NONE, NULL);
+       ret = drm_simple_encoder_init(ddev, priv->external_encoder,
+                                     DRM_MODE_ENCODER_NONE);
        if (ret) {
                dev_err(ddev->dev, "drm_encoder_init() failed %d\n", ret);
                return ret;
index 5584e65..12823d6 100644 (file)
@@ -16,6 +16,7 @@
 #include <drm/drm_connector.h>
 #include <drm/drm_modeset_helper_vtables.h>
 #include <drm/drm_probe_helper.h>
+#include <drm/drm_simple_kms_helper.h>
 
 #include "tilcdc_drv.h"
 #include "tilcdc_panel.h"
@@ -74,10 +75,6 @@ static void panel_encoder_mode_set(struct drm_encoder *encoder,
        /* nothing needed */
 }
 
-static const struct drm_encoder_funcs panel_encoder_funcs = {
-               .destroy        = drm_encoder_cleanup,
-};
-
 static const struct drm_encoder_helper_funcs panel_encoder_helper_funcs = {
                .dpms           = panel_encoder_dpms,
                .prepare        = panel_encoder_prepare,
@@ -102,8 +99,7 @@ static struct drm_encoder *panel_encoder_create(struct drm_device *dev,
        encoder = &panel_encoder->base;
        encoder->possible_crtcs = 1;
 
-       ret = drm_encoder_init(dev, encoder, &panel_encoder_funcs,
-                       DRM_MODE_ENCODER_LVDS, NULL);
+       ret = drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_LVDS);
        if (ret < 0)
                goto fail;