diff options
author | Sean Paul <seanpaul@chromium.org> | 2014-02-24 19:25:42 +0900 |
---|---|---|
committer | Inki Dae <daeinki@gmail.com> | 2014-03-24 00:36:38 +0900 |
commit | 90672f92caed94909f18467ea4663e0c5843e25f (patch) | |
tree | 0e847828c9ff7a641bd4d76ed3b1dd8969fa89d3 /drivers/gpu | |
parent | 1634ba256d022a0b86437323ce9d9b84bbce202c (diff) | |
download | op-kernel-dev-90672f92caed94909f18467ea4663e0c5843e25f.zip op-kernel-dev-90672f92caed94909f18467ea4663e0c5843e25f.tar.gz |
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 <seanpaul@chromium.org>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/exynos/Makefile | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_core.c | 21 | ||||
-rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_drv.h | 11 | ||||
-rw-r--r-- | 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 fc8555c..b1839e8 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 eeb5e4e..0e9e06c 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 b1b02d0..1c78806 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 bfa2f17..835c0f1 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) |