提交 c37f42cd 编写于 作者: S Sean Paul 提交者: Inki Dae

drm/exynos: Add create_connector callback

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: NSean Paul <seanpaul@chromium.org>
Signed-off-by: NInki Dae <inki.dae@samsung.com>
上级 af65c804
...@@ -44,6 +44,9 @@ static int exynos_drm_create_enc_conn(struct drm_device *dev, ...@@ -44,6 +44,9 @@ static int exynos_drm_create_enc_conn(struct drm_device *dev,
return -EFAULT; return -EFAULT;
} }
if (display->ops->create_connector)
return display->ops->create_connector(display, encoder);
/* /*
* create and initialize a connector for this sub driver and * create and initialize a connector for this sub driver and
* attach the encoder created above to the connector. * attach the encoder created above to the connector.
......
...@@ -139,6 +139,8 @@ struct exynos_drm_display; ...@@ -139,6 +139,8 @@ struct exynos_drm_display;
struct exynos_drm_display_ops { struct exynos_drm_display_ops {
int (*initialize)(struct exynos_drm_display *display, int (*initialize)(struct exynos_drm_display *display,
struct drm_device *drm_dev); struct drm_device *drm_dev);
int (*create_connector)(struct exynos_drm_display *display,
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); bool (*is_connected)(struct exynos_drm_display *display);
void (*get_max_resol)(struct exynos_drm_display *display, void (*get_max_resol)(struct exynos_drm_display *display,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册