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
This commit is contained in:
Родитель
b28ad7deb2
Коммит
d877d6ea77
|
@ -10,6 +10,7 @@
|
||||||
#include <drm/drm_atomic_helper.h>
|
#include <drm/drm_atomic_helper.h>
|
||||||
#include <drm/drm_bridge.h>
|
#include <drm/drm_bridge.h>
|
||||||
#include <drm/drm_of.h>
|
#include <drm/drm_of.h>
|
||||||
|
#include <drm/drm_simple_kms_helper.h>
|
||||||
|
|
||||||
#include "tilcdc_drv.h"
|
#include "tilcdc_drv.h"
|
||||||
#include "tilcdc_external.h"
|
#include "tilcdc_external.h"
|
||||||
|
@ -83,10 +84,6 @@ int tilcdc_add_component_encoder(struct drm_device *ddev)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct drm_encoder_funcs tilcdc_external_encoder_funcs = {
|
|
||||||
.destroy = drm_encoder_cleanup,
|
|
||||||
};
|
|
||||||
|
|
||||||
static
|
static
|
||||||
int tilcdc_attach_bridge(struct drm_device *ddev, struct drm_bridge *bridge)
|
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)
|
if (!priv->external_encoder)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
ret = drm_encoder_init(ddev, priv->external_encoder,
|
ret = drm_simple_encoder_init(ddev, priv->external_encoder,
|
||||||
&tilcdc_external_encoder_funcs,
|
DRM_MODE_ENCODER_NONE);
|
||||||
DRM_MODE_ENCODER_NONE, NULL);
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(ddev->dev, "drm_encoder_init() failed %d\n", ret);
|
dev_err(ddev->dev, "drm_encoder_init() failed %d\n", ret);
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
#include <drm/drm_connector.h>
|
#include <drm/drm_connector.h>
|
||||||
#include <drm/drm_modeset_helper_vtables.h>
|
#include <drm/drm_modeset_helper_vtables.h>
|
||||||
#include <drm/drm_probe_helper.h>
|
#include <drm/drm_probe_helper.h>
|
||||||
|
#include <drm/drm_simple_kms_helper.h>
|
||||||
|
|
||||||
#include "tilcdc_drv.h"
|
#include "tilcdc_drv.h"
|
||||||
#include "tilcdc_panel.h"
|
#include "tilcdc_panel.h"
|
||||||
|
@ -74,10 +75,6 @@ static void panel_encoder_mode_set(struct drm_encoder *encoder,
|
||||||
/* nothing needed */
|
/* 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 = {
|
static const struct drm_encoder_helper_funcs panel_encoder_helper_funcs = {
|
||||||
.dpms = panel_encoder_dpms,
|
.dpms = panel_encoder_dpms,
|
||||||
.prepare = panel_encoder_prepare,
|
.prepare = panel_encoder_prepare,
|
||||||
|
@ -102,8 +99,7 @@ static struct drm_encoder *panel_encoder_create(struct drm_device *dev,
|
||||||
encoder = &panel_encoder->base;
|
encoder = &panel_encoder->base;
|
||||||
encoder->possible_crtcs = 1;
|
encoder->possible_crtcs = 1;
|
||||||
|
|
||||||
ret = drm_encoder_init(dev, encoder, &panel_encoder_funcs,
|
ret = drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_LVDS);
|
||||||
DRM_MODE_ENCODER_LVDS, NULL);
|
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче