From: Park Junsung <[email protected]> remove drm_simple_encoder_init which is noted as a unnecessary intermediate layer in the TODO list and inline it into drm_encoder_init.
to achieve this, declare and define drm_encoder_funcs with the static keyword. has been verified by module compilation with no errors on modified area. Signed-off-by: Park Junsung <[email protected]> --- drivers/gpu/drm/qxl/qxl_display.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c index a026bd35ef48..52d9bb46ea95 100644 --- a/drivers/gpu/drm/qxl/qxl_display.c +++ b/drivers/gpu/drm/qxl/qxl_display.c @@ -44,6 +44,10 @@ #include "qxl_drv.h" #include "qxl_object.h" +static const struct drm_encoder_funcs drm_encoder_funcs_cleanup = { + .destroy = drm_encoder_cleanup, +}; + static bool qxl_head_enabled(struct qxl_head *head) { return head->width && head->height; @@ -1169,10 +1173,11 @@ static int qdev_output_init(struct drm_device *dev, int num_output) drm_connector_init(dev, &qxl_output->base, &qxl_connector_funcs, DRM_MODE_CONNECTOR_VIRTUAL); - ret = drm_simple_encoder_init(dev, &qxl_output->enc, - DRM_MODE_ENCODER_VIRTUAL); + ret = drm_encoder_init(dev, &qxl_output->enc, + &drm_encoder_funcs_cleanup, + DRM_MODE_ENCODER_VIRTUAL, NULL); if (ret) { - drm_err(dev, "drm_simple_encoder_init() failed, error %d\n", + drm_err(dev, "drm_encoder_init() failed, error %d\n", ret); goto err_drm_connector_cleanup; } -- 2.53.0
