]> git.openfabrics.org - ~emulex/infiniband.git/commitdiff
drm/exynos: Add create_connector callback
authorSean Paul <seanpaul@chromium.org>
Mon, 24 Feb 2014 10:15:38 +0000 (19:15 +0900)
committerInki Dae <daeinki@gmail.com>
Sun, 23 Mar 2014 15:36:36 +0000 (00:36 +0900)
This creates a new display hook called create_connector. The purpose is
to allow the display driver to create its own drm_connector instead of
using the exynos_drm_connector. This moves things closer to completely
removing the exynos_drm_connector abstraction.

Signed-off-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/exynos/exynos_drm_core.c
drivers/gpu/drm/exynos/exynos_drm_drv.h

index e23611eaa9039876f2c6dc06a614faab31227c12..eeb5e4e0f524933968898b300cef787d9211a227 100644 (file)
@@ -44,6 +44,9 @@ 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.
index 09c158ab53c072e43ef472a6bebfb6a9a6e91276..b1b02d03ec120d7e341d51d273631798d3a08262 100644 (file)
@@ -139,6 +139,8 @@ struct exynos_drm_display;
 struct exynos_drm_display_ops {
        int (*initialize)(struct exynos_drm_display *display,
                                struct drm_device *drm_dev);
+       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,