diff options
| -rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_drv.c | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c index b8abbc4a3d8b..e5c4c6c8c967 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c | |||
| @@ -591,10 +591,21 @@ static int exynos_drm_platform_probe(struct platform_device *pdev) | |||
| 591 | goto err_unregister_mixer_drv; | 591 | goto err_unregister_mixer_drv; |
| 592 | #endif | 592 | #endif |
| 593 | 593 | ||
| 594 | match = exynos_drm_match_add(&pdev->dev); | ||
| 595 | if (IS_ERR(match)) { | ||
| 596 | ret = PTR_ERR(match); | ||
| 597 | goto err_unregister_hdmi_drv; | ||
| 598 | } | ||
| 599 | |||
| 600 | ret = component_master_add_with_match(&pdev->dev, &exynos_drm_ops, | ||
| 601 | match); | ||
| 602 | if (ret < 0) | ||
| 603 | goto err_unregister_hdmi_drv; | ||
| 604 | |||
| 594 | #ifdef CONFIG_DRM_EXYNOS_G2D | 605 | #ifdef CONFIG_DRM_EXYNOS_G2D |
| 595 | ret = platform_driver_register(&g2d_driver); | 606 | ret = platform_driver_register(&g2d_driver); |
| 596 | if (ret < 0) | 607 | if (ret < 0) |
| 597 | goto err_unregister_hdmi_drv; | 608 | goto err_del_component_master; |
| 598 | #endif | 609 | #endif |
| 599 | 610 | ||
| 600 | #ifdef CONFIG_DRM_EXYNOS_FIMC | 611 | #ifdef CONFIG_DRM_EXYNOS_FIMC |
| @@ -625,23 +636,9 @@ static int exynos_drm_platform_probe(struct platform_device *pdev) | |||
| 625 | goto err_unregister_ipp_drv; | 636 | goto err_unregister_ipp_drv; |
| 626 | #endif | 637 | #endif |
| 627 | 638 | ||
| 628 | match = exynos_drm_match_add(&pdev->dev); | ||
| 629 | if (IS_ERR(match)) { | ||
| 630 | ret = PTR_ERR(match); | ||
| 631 | goto err_unregister_resources; | ||
| 632 | } | ||
| 633 | |||
| 634 | ret = component_master_add_with_match(&pdev->dev, &exynos_drm_ops, | ||
| 635 | match); | ||
| 636 | if (ret < 0) | ||
| 637 | goto err_unregister_resources; | ||
| 638 | |||
| 639 | return ret; | 639 | return ret; |
| 640 | 640 | ||
| 641 | err_unregister_resources: | ||
| 642 | |||
| 643 | #ifdef CONFIG_DRM_EXYNOS_IPP | 641 | #ifdef CONFIG_DRM_EXYNOS_IPP |
| 644 | exynos_platform_device_ipp_unregister(); | ||
| 645 | err_unregister_ipp_drv: | 642 | err_unregister_ipp_drv: |
| 646 | platform_driver_unregister(&ipp_driver); | 643 | platform_driver_unregister(&ipp_driver); |
| 647 | err_unregister_gsc_drv: | 644 | err_unregister_gsc_drv: |
| @@ -664,9 +661,11 @@ err_unregister_g2d_drv: | |||
| 664 | 661 | ||
| 665 | #ifdef CONFIG_DRM_EXYNOS_G2D | 662 | #ifdef CONFIG_DRM_EXYNOS_G2D |
| 666 | platform_driver_unregister(&g2d_driver); | 663 | platform_driver_unregister(&g2d_driver); |
| 667 | err_unregister_hdmi_drv: | 664 | err_del_component_master: |
| 668 | #endif | 665 | #endif |
| 666 | component_master_del(&pdev->dev, &exynos_drm_ops); | ||
| 669 | 667 | ||
| 668 | err_unregister_hdmi_drv: | ||
| 670 | #ifdef CONFIG_DRM_EXYNOS_HDMI | 669 | #ifdef CONFIG_DRM_EXYNOS_HDMI |
| 671 | platform_driver_unregister(&hdmi_driver); | 670 | platform_driver_unregister(&hdmi_driver); |
| 672 | err_unregister_mixer_drv: | 671 | err_unregister_mixer_drv: |
