aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/exynos/exynos_drm_drv.h
diff options
context:
space:
mode:
authorAndrzej Hajda <a.hajda@samsung.com>2015-06-11 23:23:37 +0900
committerInki Dae <daeinki@gmail.com>2015-06-20 00:32:55 +0900
commit8665040850e3cb1a5d288bcb2c5164538e80373e (patch)
tree1a2bfd6db2aec4e41da1f61faa6a8304e6d5a2df /drivers/gpu/drm/exynos/exynos_drm_drv.h
parentdrm/exynos: consolidate driver/device initialization code (diff)
downloadlinux-dev-8665040850e3cb1a5d288bcb2c5164538e80373e.tar.xz
linux-dev-8665040850e3cb1a5d288bcb2c5164538e80373e.zip
drm/exynos: fix broken component binding in case of multiple pipelines
In case there are multiple pipelines and deferred probe occurs, only components of the first pipeline were bound. As a result only one pipeline was available. The main cause of this issue was dynamic generation of component match table - every component driver during probe registered itself on helper list, if there was at least one pipeline present on this list component match table were created without deferred components. This patch removes this helper list, instead it creates match table from existing devices requiring exynos_drm KMS drivers. This way match table do not depend on probe/deferral order and contains all KMS components. As a side effect patch makes the code cleaner and significantly smaller. Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> 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.h14
1 files changed, 0 insertions, 14 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.h b/drivers/gpu/drm/exynos/exynos_drm_drv.h
index b308e908dd2b..6b4958bd4fc3 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_drv.h
+++ b/drivers/gpu/drm/exynos/exynos_drm_drv.h
@@ -25,13 +25,6 @@
#define to_exynos_crtc(x) container_of(x, struct exynos_drm_crtc, base)
#define to_exynos_plane(x) container_of(x, struct exynos_drm_plane, base)
-/* This enumerates device type. */
-enum exynos_drm_device_type {
- EXYNOS_DEVICE_TYPE_NONE,
- EXYNOS_DEVICE_TYPE_CRTC,
- EXYNOS_DEVICE_TYPE_CONNECTOR,
-};
-
/* this enumerates display type. */
enum exynos_drm_output_type {
EXYNOS_DISPLAY_TYPE_NONE,
@@ -311,13 +304,6 @@ static inline int exynos_dpi_remove(struct exynos_drm_display *display)
int exynos_drm_create_enc_conn(struct drm_device *dev,
struct exynos_drm_display *display);
-int exynos_drm_component_add(struct device *dev,
- enum exynos_drm_device_type dev_type,
- enum exynos_drm_output_type out_type);
-
-void exynos_drm_component_del(struct device *dev,
- enum exynos_drm_device_type dev_type);
-
extern struct platform_driver fimd_driver;
extern struct platform_driver decon_driver;
extern struct platform_driver dp_driver;