drm/exynos: Remove the exynos_drm_connector shim
authorSean Paul <seanpaul@chromium.org>
Mon, 24 Feb 2014 10:25:42 +0000 (19:25 +0900)
committerInki Dae <daeinki@gmail.com>
Sun, 23 Mar 2014 15:36:38 +0000 (00:36 +0900)
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>
drivers/gpu/drm/exynos/Makefile
drivers/gpu/drm/exynos/exynos_drm_core.c
drivers/gpu/drm/exynos/exynos_drm_drv.h
drivers/gpu/drm/exynos/exynos_drm_encoder.c

index fc8555c2be008b90602aaca04182098ba81227b6..b1839e8ac1edb57e2dc5bdbc184b4aec3e2dbe94 100644 (file)
@@ -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
index eeb5e4e0f524933968898b300cef787d9211a227..0e9e06ce36b860ae8fb5a91d40faf31d917b180a 100644 (file)
@@ -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:
index b1b02d03ec120d7e341d51d273631798d3a08262..1c78806c4e5c0c3b7da2f712b762c44a21a63e56 100644 (file)
@@ -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,
index bfa2f17b80420bc7dc159390ed9492e8ec2e6a54..835c0f1e88a71c48dc0f8672c6f19a89a7365654 100644 (file)
@@ -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)