aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/exynos/exynos_drm_drv.c
diff options
context:
space:
mode:
authorEunchul Kim <chulspro.kim@samsung.com>2012-12-14 03:58:55 -0500
committerInki Dae <daeinki@gmail.com>2012-12-14 12:38:53 -0500
commit16102edb49b6cc7fbb68b10c04a42b78fbceb3ed (patch)
tree97c4c28c5fb058bb94b304eae3be0efa1decdc46 /drivers/gpu/drm/exynos/exynos_drm_drv.c
parentc12e2617b25535014a766a0bc3e05134ef817b82 (diff)
drm/exynos: add fimc ipp driver
FIMC is stand for Fully Interfactive Mobile Camera and supports image scaler/rotator/crop/flip/csc and input/output DMA operations and also supports writeback and display output operations. This driver is registered to IPP subsystem framework to be used by user side and user can control the FIMC hardware through some interfaces of IPP subsystem framework. Changelog v6: - fix build warning. Changelog v1 ~ v5: - add comments, code fixups and cleanups. Signed-off-by: Eunchul Kim <chulspro.kim@samsung.com> Signed-off-by: Jinyoung Jeon <jy0.jeon@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Diffstat (limited to 'drivers/gpu/drm/exynos/exynos_drm_drv.c')
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_drv.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c
index 0eb8a972e21..73f02ac53ba 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
@@ -372,6 +372,12 @@ static int __init exynos_drm_init(void)
372 goto out_g2d; 372 goto out_g2d;
373#endif 373#endif
374 374
375#ifdef CONFIG_DRM_EXYNOS_FIMC
376 ret = platform_driver_register(&fimc_driver);
377 if (ret < 0)
378 goto out_fimc;
379#endif
380
375#ifdef CONFIG_DRM_EXYNOS_IPP 381#ifdef CONFIG_DRM_EXYNOS_IPP
376 ret = platform_driver_register(&ipp_driver); 382 ret = platform_driver_register(&ipp_driver);
377 if (ret < 0) 383 if (ret < 0)
@@ -400,6 +406,11 @@ out_drm:
400out_ipp: 406out_ipp:
401#endif 407#endif
402 408
409#ifdef CONFIG_DRM_EXYNOS_FIMC
410 platform_driver_unregister(&fimc_driver);
411out_fimc:
412#endif
413
403#ifdef CONFIG_DRM_EXYNOS_G2D 414#ifdef CONFIG_DRM_EXYNOS_G2D
404 platform_driver_unregister(&g2d_driver); 415 platform_driver_unregister(&g2d_driver);
405out_g2d: 416out_g2d:
@@ -440,6 +451,10 @@ static void __exit exynos_drm_exit(void)
440 platform_driver_unregister(&ipp_driver); 451 platform_driver_unregister(&ipp_driver);
441#endif 452#endif
442 453
454#ifdef CONFIG_DRM_EXYNOS_FIMC
455 platform_driver_unregister(&fimc_driver);
456#endif
457
443#ifdef CONFIG_DRM_EXYNOS_G2D 458#ifdef CONFIG_DRM_EXYNOS_G2D
444 platform_driver_unregister(&g2d_driver); 459 platform_driver_unregister(&g2d_driver);
445#endif 460#endif