Commit 90672f92 authored by Sean Paul's avatar Sean Paul Committed by Inki Dae

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: default avatarSean Paul <seanpaul@chromium.org>
Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
parent 1634ba25
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
# Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
ccflags-y := -Iinclude/drm -Idrivers/gpu/drm/exynos 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_crtc.o exynos_drm_fbdev.o exynos_drm_fb.o \
exynos_drm_buf.o exynos_drm_gem.o exynos_drm_core.o \ exynos_drm_buf.o exynos_drm_gem.o exynos_drm_core.o \
exynos_drm_plane.o exynos_drm_plane.o
......
...@@ -16,7 +16,6 @@ ...@@ -16,7 +16,6 @@
#include "exynos_drm_drv.h" #include "exynos_drm_drv.h"
#include "exynos_drm_crtc.h" #include "exynos_drm_crtc.h"
#include "exynos_drm_encoder.h" #include "exynos_drm_encoder.h"
#include "exynos_drm_connector.h"
#include "exynos_drm_fbdev.h" #include "exynos_drm_fbdev.h"
static LIST_HEAD(exynos_drm_subdrv_list); static LIST_HEAD(exynos_drm_subdrv_list);
...@@ -27,7 +26,6 @@ static int exynos_drm_create_enc_conn(struct drm_device *dev, ...@@ -27,7 +26,6 @@ static int exynos_drm_create_enc_conn(struct drm_device *dev,
struct exynos_drm_display *display) struct exynos_drm_display *display)
{ {
struct drm_encoder *encoder; struct drm_encoder *encoder;
struct drm_connector *connector;
struct exynos_drm_manager *manager; struct exynos_drm_manager *manager;
int ret; int ret;
unsigned long possible_crtcs = 0; unsigned long possible_crtcs = 0;
...@@ -44,23 +42,14 @@ static int exynos_drm_create_enc_conn(struct drm_device *dev, ...@@ -44,23 +42,14 @@ static int exynos_drm_create_enc_conn(struct drm_device *dev,
return -EFAULT; return -EFAULT;
} }
if (display->ops->create_connector) display->encoder = encoder;
return display->ops->create_connector(display, encoder);
ret = display->ops->create_connector(display, encoder);
/* if (ret) {
* create and initialize a connector for this sub driver and DRM_ERROR("failed to create connector ret = %d\n", ret);
* 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;
goto err_destroy_encoder; goto err_destroy_encoder;
} }
display->encoder = encoder;
display->connector = connector;
return 0; return 0;
err_destroy_encoder: err_destroy_encoder:
......
...@@ -124,10 +124,6 @@ struct exynos_drm_overlay { ...@@ -124,10 +124,6 @@ struct exynos_drm_overlay {
* *
* @initialize: initializes the display with drm_dev * @initialize: initializes the display with drm_dev
* @remove: cleans up the display for removal * @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_fixup: fix mode data comparing to hw specific display mode.
* @mode_set: convert drm_display_mode to hw specific display mode and * @mode_set: convert drm_display_mode to hw specific display mode and
* would be called by encoder->mode_set(). * would be called by encoder->mode_set().
...@@ -142,13 +138,6 @@ struct exynos_drm_display_ops { ...@@ -142,13 +138,6 @@ struct exynos_drm_display_ops {
int (*create_connector)(struct exynos_drm_display *display, int (*create_connector)(struct exynos_drm_display *display,
struct drm_encoder *encoder); struct drm_encoder *encoder);
void (*remove)(struct exynos_drm_display *display); 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, void (*mode_fixup)(struct exynos_drm_display *display,
struct drm_connector *connector, struct drm_connector *connector,
const struct drm_display_mode *mode, const struct drm_display_mode *mode,
......
...@@ -17,7 +17,6 @@ ...@@ -17,7 +17,6 @@
#include "exynos_drm_drv.h" #include "exynos_drm_drv.h"
#include "exynos_drm_encoder.h" #include "exynos_drm_encoder.h"
#include "exynos_drm_connector.h"
#define to_exynos_encoder(x) container_of(x, struct exynos_drm_encoder,\ #define to_exynos_encoder(x) container_of(x, struct exynos_drm_encoder,\
drm_encoder) drm_encoder)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment