mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-03 20:34:58 +08:00
drm/exynos: drop struct_mutex from fbdev setup
Doesn't protect anything at all, and probably just here because a long time ago dev->struct_mutex was required to allocate gem objects. With this patch exynos is completely struct_mutex free! Cc: Inki Dae <inki.dae@samsung.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1459330852-27668-10-git-send-email-daniel.vetter@ffwll.ch
This commit is contained in:
parent
6c991a2208
commit
2f42420084
@ -138,8 +138,6 @@ static int exynos_drm_fbdev_create(struct drm_fb_helper *helper,
|
||||
mode_cmd.pixel_format = drm_mode_legacy_fb_format(sizes->surface_bpp,
|
||||
sizes->surface_depth);
|
||||
|
||||
mutex_lock(&dev->struct_mutex);
|
||||
|
||||
size = mode_cmd.pitches[0] * mode_cmd.height;
|
||||
|
||||
exynos_gem = exynos_drm_gem_create(dev, EXYNOS_BO_CONTIG, size);
|
||||
@ -154,10 +152,8 @@ static int exynos_drm_fbdev_create(struct drm_fb_helper *helper,
|
||||
size);
|
||||
}
|
||||
|
||||
if (IS_ERR(exynos_gem)) {
|
||||
ret = PTR_ERR(exynos_gem);
|
||||
goto out;
|
||||
}
|
||||
if (IS_ERR(exynos_gem))
|
||||
return PTR_ERR(exynos_gem);
|
||||
|
||||
exynos_fbdev->exynos_gem = exynos_gem;
|
||||
|
||||
@ -173,7 +169,6 @@ static int exynos_drm_fbdev_create(struct drm_fb_helper *helper,
|
||||
if (ret < 0)
|
||||
goto err_destroy_framebuffer;
|
||||
|
||||
mutex_unlock(&dev->struct_mutex);
|
||||
return ret;
|
||||
|
||||
err_destroy_framebuffer:
|
||||
@ -181,13 +176,12 @@ err_destroy_framebuffer:
|
||||
err_destroy_gem:
|
||||
exynos_drm_gem_destroy(exynos_gem);
|
||||
|
||||
/*
|
||||
/*
|
||||
* if failed, all resources allocated above would be released by
|
||||
* drm_mode_config_cleanup() when drm_load() had been called prior
|
||||
* to any specific driver such as fimd or hdmi driver.
|
||||
*/
|
||||
out:
|
||||
mutex_unlock(&dev->struct_mutex);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user