Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -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
+5 −16
Original line number Original line Diff line number Diff line
@@ -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,
					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,
		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);
	 * create and initialize a connector for this sub driver and
	if (ret) {
	 * attach the encoder created above to the connector.
		DRM_ERROR("failed to create connector ret = %d\n", ret);
	 */
	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:
+0 −11
Original line number Original line Diff line number Diff line
@@ -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 {
	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,
+0 −1
Original line number Original line Diff line number Diff line
@@ -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)