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

Reply via email to