Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/tilcdc: Use simple encoder

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

+5 -13
+3 -7
drivers/gpu/drm/tilcdc/tilcdc_external.c
··· 10 10 #include <drm/drm_atomic_helper.h> 11 11 #include <drm/drm_bridge.h> 12 12 #include <drm/drm_of.h> 13 + #include <drm/drm_simple_kms_helper.h> 13 14 14 15 #include "tilcdc_drv.h" 15 16 #include "tilcdc_external.h" ··· 84 83 return 0; 85 84 } 86 85 87 - static const struct drm_encoder_funcs tilcdc_external_encoder_funcs = { 88 - .destroy = drm_encoder_cleanup, 89 - }; 90 - 91 86 static 92 87 int tilcdc_attach_bridge(struct drm_device *ddev, struct drm_bridge *bridge) 93 88 { ··· 128 131 if (!priv->external_encoder) 129 132 return -ENOMEM; 130 133 131 - ret = drm_encoder_init(ddev, priv->external_encoder, 132 - &tilcdc_external_encoder_funcs, 133 - DRM_MODE_ENCODER_NONE, NULL); 134 + ret = drm_simple_encoder_init(ddev, priv->external_encoder, 135 + DRM_MODE_ENCODER_NONE); 134 136 if (ret) { 135 137 dev_err(ddev->dev, "drm_encoder_init() failed %d\n", ret); 136 138 return ret;
+2 -6
drivers/gpu/drm/tilcdc/tilcdc_panel.c
··· 16 16 #include <drm/drm_connector.h> 17 17 #include <drm/drm_modeset_helper_vtables.h> 18 18 #include <drm/drm_probe_helper.h> 19 + #include <drm/drm_simple_kms_helper.h> 19 20 20 21 #include "tilcdc_drv.h" 21 22 #include "tilcdc_panel.h" ··· 75 74 /* nothing needed */ 76 75 } 77 76 78 - static const struct drm_encoder_funcs panel_encoder_funcs = { 79 - .destroy = drm_encoder_cleanup, 80 - }; 81 - 82 77 static const struct drm_encoder_helper_funcs panel_encoder_helper_funcs = { 83 78 .dpms = panel_encoder_dpms, 84 79 .prepare = panel_encoder_prepare, ··· 99 102 encoder = &panel_encoder->base; 100 103 encoder->possible_crtcs = 1; 101 104 102 - ret = drm_encoder_init(dev, encoder, &panel_encoder_funcs, 103 - DRM_MODE_ENCODER_LVDS, NULL); 105 + ret = drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_LVDS); 104 106 if (ret < 0) 105 107 goto fail; 106 108