summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/exynos/exynos_drm_drv.h
diff options
context:
space:
mode:
authorGustavo Padovan <gustavo.padovan@collabora.co.uk>2015-08-06 02:24:20 +0300
committerInki Dae <inki.dae@samsung.com>2015-08-16 04:23:37 +0300
commita2986e8032bddbe237ed16e2e26c71f5416cd5fd (patch)
treee52b61cf865f2a2bec677b148852bb597fefb62a /drivers/gpu/drm/exynos/exynos_drm_drv.h
parentaf8be3f6fe80262f29b5e353421392196ff626f0 (diff)
downloadlinux-a2986e8032bddbe237ed16e2e26c71f5416cd5fd.tar.xz
drm/exynos: remove exynos_drm_create_enc_conn()
This functions was just hiding the encoder and connector creation in a way that was less clean than if we get rid of it. For example, exynos_encoder ops had .create_connector() defined only because we were handing off the encoder and connector creation to exynos_drm_create_enc_conn(). Without this function we can directly call the create_connector function internally in the code, without the need of any vtable access. It also does some refactoring in the code like creating a bind function for dpi devices. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
Diffstat (limited to 'drivers/gpu/drm/exynos/exynos_drm_drv.h')
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_drv.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.h b/drivers/gpu/drm/exynos/exynos_drm_drv.h
index 76ed6a105d4f..a4977bee3195 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_drv.h
+++ b/drivers/gpu/drm/exynos/exynos_drm_drv.h
@@ -81,7 +81,6 @@ struct exynos_drm_plane {
* Exynos DRM Encoder Structure.
* - this structure is common to analog tv, digital tv and lcd panel.
*
- * @create_connector: initialize and register a new connector
* @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().
@@ -90,7 +89,6 @@ struct exynos_drm_plane {
*/
struct exynos_drm_encoder;
struct exynos_drm_encoder_ops {
- int (*create_connector)(struct exynos_drm_encoder *encoder);
void (*mode_fixup)(struct exynos_drm_encoder *encoder,
struct drm_connector *connector,
const struct drm_display_mode *mode,
@@ -259,6 +257,7 @@ void exynos_drm_subdrv_close(struct drm_device *dev, struct drm_file *file);
#ifdef CONFIG_DRM_EXYNOS_DPI
struct exynos_drm_encoder *exynos_dpi_probe(struct device *dev);
int exynos_dpi_remove(struct exynos_drm_encoder *encoder);
+int exynos_dpi_bind(struct drm_device *dev, struct exynos_drm_encoder *encoder);
#else
static inline struct exynos_drm_encoder *
exynos_dpi_probe(struct device *dev) { return NULL; }
@@ -266,12 +265,13 @@ static inline int exynos_dpi_remove(struct exynos_drm_encoder *encoder)
{
return 0;
}
+static inline int exynos_dpi_bind(struct drm_device *dev,
+ struct exynos_drm_encoder *encoder)
+{
+ return 0;
+}
#endif
-/* This function creates a encoder and a connector, and initializes them. */
-int exynos_drm_create_enc_conn(struct drm_device *dev,
- struct exynos_drm_encoder *encoder,
- enum exynos_drm_output_type type);
extern struct platform_driver fimd_driver;
extern struct platform_driver exynos5433_decon_driver;