On 2014? 06? 17? 20:38, Sachin Kamat wrote:
> 'exynos_drm_pdev' was not getting unregistered if platform_driver_register()
> failed. Fix the ordering to allow this. This also fixes the below warning by
> moving the #endif macro. While at it also fix the ordering in the exit
> function
> so that de-registration happens in opposite order of registration.
> drivers/gpu/drm/exynos/exynos_drm_drv.c:768:1: warning: label
> ?err_unregister_pd? defined but not used [-Wunused-label]
Above line doesn't conform to UTF-8 so I just fixed it. :)
Applied.
Thanks,
Inki Dae
> Signed-off-by: Sachin Kamat <sachin.kamat at samsung.com>
> ---
> drivers/gpu/drm/exynos/exynos_drm_drv.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c
> b/drivers/gpu/drm/exynos/exynos_drm_drv.c
> index 5d225dd5..f72ca0c 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
> @@ -765,24 +765,24 @@ static int exynos_drm_init(void)
>
> return 0;
>
> -err_unregister_pd:
> - platform_device_unregister(exynos_drm_pdev);
> -
> err_remove_vidi:
> #ifdef CONFIG_DRM_EXYNOS_VIDI
> exynos_drm_remove_vidi();
> +
> +err_unregister_pd:
> #endif
> + platform_device_unregister(exynos_drm_pdev);
>
> return ret;
> }
>
> static void exynos_drm_exit(void)
> {
> + platform_driver_unregister(&exynos_drm_platform_driver);
> #ifdef CONFIG_DRM_EXYNOS_VIDI
> exynos_drm_remove_vidi();
> #endif
> platform_device_unregister(exynos_drm_pdev);
> - platform_driver_unregister(&exynos_drm_platform_driver);
> }
>
> module_init(exynos_drm_init);
>