From 90672f92caed94909f18467ea4663e0c5843e25f Mon Sep 17 00:00:00 2001 From: Sean Paul Date: Mon, 24 Feb 2014 19:25:42 +0900 Subject: [PATCH] drm/exynos: Remove the exynos_drm_connector shim This path removes the exynos_drm_connector code since it was just passing hooks through display_ops. The individual device drivers are now responsible for implementing drm_connector directly. Signed-off-by: Sean Paul Signed-off-by: Inki Dae --- drivers/gpu/drm/exynos/Makefile | 2 +- drivers/gpu/drm/exynos/exynos_drm_core.c | 21 +++++---------------- drivers/gpu/drm/exynos/exynos_drm_drv.h | 11 ----------- drivers/gpu/drm/exynos/exynos_drm_encoder.c | 1 - 4 files changed, 6 insertions(+), 29 deletions(-) diff --git a/drivers/gpu/drm/exynos/Makefile b/drivers/gpu/drm/exynos/Makefile index fc8555c2be00..b1839e8ac1ed 100644 --- a/drivers/gpu/drm/exynos/Makefile +++ b/drivers/gpu/drm/exynos/Makefile @@ -3,7 +3,7 @@ # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. ccflags-y := -Iinclude/drm -Idrivers/gpu/drm/exynos -exynosdrm-y := exynos_drm_drv.o exynos_drm_encoder.o exynos_drm_connector.o \ +exynosdrm-y := exynos_drm_drv.o exynos_drm_encoder.o \ exynos_drm_crtc.o exynos_drm_fbdev.o exynos_drm_fb.o \ exynos_drm_buf.o exynos_drm_gem.o exynos_drm_core.o \ exynos_drm_plane.o diff --git a/drivers/gpu/drm/exynos/exynos_drm_core.c b/drivers/gpu/drm/exynos/exynos_drm_core.c index eeb5e4e0f524..0e9e06ce36b8 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_core.c +++ b/drivers/gpu/drm/exynos/exynos_drm_core.c @@ -16,7 +16,6 @@ #include "exynos_drm_drv.h" #include "exynos_drm_crtc.h" #include "exynos_drm_encoder.h" -#include "exynos_drm_connector.h" #include "exynos_drm_fbdev.h" static LIST_HEAD(exynos_drm_subdrv_list); @@ -27,7 +26,6 @@ static int exynos_drm_create_enc_conn(struct drm_device *dev, struct exynos_drm_display *display) { struct drm_encoder *encoder; - struct drm_connector *connector; struct exynos_drm_manager *manager; int ret; unsigned long possible_crtcs = 0; @@ -44,23 +42,14 @@ static int exynos_drm_create_enc_conn(struct drm_device *dev, return -EFAULT; } - if (display->ops->create_connector) - return display->ops->create_connector(display, encoder); - - /* - * create and initialize a connector for this sub driver and - * attach the encoder created above to the connector. - */ - connector = exynos_drm_connector_create(dev, encoder); - if (!connector) { - DRM_ERROR("failed to create connector\n"); - ret = -EFAULT; + display->encoder = encoder; + + ret = display->ops->create_connector(display, encoder); + if (ret) { + DRM_ERROR("failed to create connector ret = %d\n", ret); goto err_destroy_encoder; } - display->encoder = encoder; - display->connector = connector; - return 0; err_destroy_encoder: diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.h b/drivers/gpu/drm/exynos/exynos_drm_drv.h index b1b02d03ec12..1c78806c4e5c 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_drv.h +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.h @@ -124,10 +124,6 @@ struct exynos_drm_overlay { * * @initialize: initializes the display with drm_dev * @remove: cleans up the display for removal - * @is_connected: check for that display is connected or not. - * @get_max_resol: get maximum resolution to specific hardware. - * @get_edid: get edid modes from display driver. - * @get_panel: get panel object from display driver. * @mode_fixup: fix mode data comparing to hw specific display mode. * @mode_set: convert drm_display_mode to hw specific display mode and * would be called by encoder->mode_set(). @@ -142,13 +138,6 @@ struct exynos_drm_display_ops { int (*create_connector)(struct exynos_drm_display *display, struct drm_encoder *encoder); void (*remove)(struct exynos_drm_display *display); - bool (*is_connected)(struct exynos_drm_display *display); - void (*get_max_resol)(struct exynos_drm_display *display, - unsigned int *width, - unsigned int *height); - struct edid *(*get_edid)(struct exynos_drm_display *display, - struct drm_connector *connector); - void *(*get_panel)(struct exynos_drm_display *display); void (*mode_fixup)(struct exynos_drm_display *display, struct drm_connector *connector, const struct drm_display_mode *mode, diff --git a/drivers/gpu/drm/exynos/exynos_drm_encoder.c b/drivers/gpu/drm/exynos/exynos_drm_encoder.c index bfa2f17b8042..835c0f1e88a7 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_encoder.c +++ b/drivers/gpu/drm/exynos/exynos_drm_encoder.c @@ -17,7 +17,6 @@ #include "exynos_drm_drv.h" #include "exynos_drm_encoder.h" -#include "exynos_drm_connector.h" #define to_exynos_encoder(x) container_of(x, struct exynos_drm_encoder,\ drm_encoder) -- 2.20.1