Hi Andrzej,
2015-06-08 Andrzej Hajda a.hajda@samsung.com:
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
drivers/gpu/drm/exynos/exynos7_drm_decon.c | 14 +- drivers/gpu/drm/exynos/exynos_dp_core.c | 13 +- drivers/gpu/drm/exynos/exynos_drm_dpi.c | 20 +- drivers/gpu/drm/exynos/exynos_drm_drv.c | 283 ++++++++--------------------- drivers/gpu/drm/exynos/exynos_drm_dsi.c | 29 +-- drivers/gpu/drm/exynos/exynos_drm_fimd.c | 28 +-- drivers/gpu/drm/exynos/exynos_drm_vidi.c | 18 +- drivers/gpu/drm/exynos/exynos_hdmi.c | 22 +-- drivers/gpu/drm/exynos/exynos_mixer.c | 14 +- 9 files changed, 99 insertions(+), 342 deletions(-)
diff --git a/drivers/gpu/drm/exynos/exynos7_drm_decon.c b/drivers/gpu/drm/exynos/exynos7_drm_decon.c index d659ba2..22cb067 100644 --- a/drivers/gpu/drm/exynos/exynos7_drm_decon.c +++ b/drivers/gpu/drm/exynos/exynos7_drm_decon.c @@ -769,11 +769,6 @@ static int decon_probe(struct platform_device *pdev) if (!ctx) return -ENOMEM;
- ret = exynos_drm_component_add(dev, EXYNOS_DEVICE_TYPE_CRTC,
EXYNOS_DISPLAY_TYPE_LCD);
Please also remove enum exynos_drm_device_type, with this patch it is not used anymore.
Gustavo