Inline exynos_drm_fbdev_update() into its only caller. Prepares the code for using DRM client buffers.
Signed-off-by: Thomas Zimmermann <[email protected]> Tested-by: Marek Szyprowski <[email protected]> Acked-by: Marek Szyprowski <[email protected]> --- drivers/gpu/drm/exynos/exynos_drm_fbdev.c | 35 ++++++----------------- 1 file changed, 9 insertions(+), 26 deletions(-) diff --git a/drivers/gpu/drm/exynos/exynos_drm_fbdev.c b/drivers/gpu/drm/exynos/exynos_drm_fbdev.c index d283ded266d5..1c564edd497e 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_fbdev.c +++ b/drivers/gpu/drm/exynos/exynos_drm_fbdev.c @@ -54,26 +54,6 @@ static const struct fb_ops exynos_drm_fb_ops = { .fb_destroy = exynos_drm_fb_destroy, }; -static int exynos_drm_fbdev_update(struct drm_fb_helper *helper, - struct drm_fb_helper_surface_size *sizes, - struct exynos_drm_gem *exynos_gem) -{ - struct fb_info *fbi = helper->info; - struct drm_framebuffer *fb = helper->fb; - unsigned int size = fb->width * fb->height * fb->format->cpp[0]; - - fbi->fbops = &exynos_drm_fb_ops; - - drm_fb_helper_fill_info(fbi, helper, sizes); - - fbi->flags |= FBINFO_VIRTFB; - fbi->screen_buffer = exynos_gem->kvaddr; - fbi->screen_size = size; - fbi->fix.smem_len = size; - - return 0; -} - static const struct drm_fb_helper_funcs exynos_drm_fbdev_helper_funcs = { }; @@ -82,6 +62,7 @@ int exynos_drm_fbdev_driver_fbdev_probe(struct drm_fb_helper *helper, { struct exynos_drm_gem *exynos_gem; struct drm_device *dev = helper->dev; + struct fb_info *info = helper->info; struct drm_mode_fb_cmd2 mode_cmd = { 0 }; unsigned long size; int ret; @@ -115,15 +96,17 @@ int exynos_drm_fbdev_driver_fbdev_probe(struct drm_fb_helper *helper, } helper->funcs = &exynos_drm_fbdev_helper_funcs; - ret = exynos_drm_fbdev_update(helper, sizes, exynos_gem); - if (ret < 0) - goto err_destroy_framebuffer; + info->fbops = &exynos_drm_fb_ops; + + drm_fb_helper_fill_info(info, helper, sizes); + + info->flags |= FBINFO_VIRTFB; + info->screen_buffer = exynos_gem->kvaddr; + info->screen_size = size; + info->fix.smem_len = size; return 0; -err_destroy_framebuffer: - drm_framebuffer_cleanup(helper->fb); - helper->fb = NULL; err_destroy_gem: exynos_drm_gem_destroy(exynos_gem); return ret; -- 2.54.0
