aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_fb.c28
1 files changed, 8 insertions, 20 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fb.c b/drivers/gpu/drm/exynos/exynos_drm_fb.c
index 168c71f80b72..f0e79178bde6 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fb.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fb.c
@@ -27,18 +27,6 @@
27#include "exynos_drm_iommu.h" 27#include "exynos_drm_iommu.h"
28#include "exynos_drm_crtc.h" 28#include "exynos_drm_crtc.h"
29 29
30#define to_exynos_fb(x) container_of(x, struct exynos_drm_fb, fb)
31
32/*
33 * exynos specific framebuffer structure.
34 *
35 * @fb: drm framebuffer obejct.
36 * @exynos_gem: array of exynos specific gem object containing a gem object.
37 */
38struct exynos_drm_fb {
39 struct drm_framebuffer fb;
40};
41
42static int check_fb_gem_memory_type(struct drm_device *drm_dev, 30static int check_fb_gem_memory_type(struct drm_device *drm_dev,
43 struct exynos_drm_gem *exynos_gem) 31 struct exynos_drm_gem *exynos_gem)
44{ 32{
@@ -76,12 +64,12 @@ exynos_drm_framebuffer_init(struct drm_device *dev,
76 struct exynos_drm_gem **exynos_gem, 64 struct exynos_drm_gem **exynos_gem,
77 int count) 65 int count)
78{ 66{
79 struct exynos_drm_fb *exynos_fb; 67 struct drm_framebuffer *fb;
80 int i; 68 int i;
81 int ret; 69 int ret;
82 70
83 exynos_fb = kzalloc(sizeof(*exynos_fb), GFP_KERNEL); 71 fb = kzalloc(sizeof(*fb), GFP_KERNEL);
84 if (!exynos_fb) 72 if (!fb)
85 return ERR_PTR(-ENOMEM); 73 return ERR_PTR(-ENOMEM);
86 74
87 for (i = 0; i < count; i++) { 75 for (i = 0; i < count; i++) {
@@ -89,21 +77,21 @@ exynos_drm_framebuffer_init(struct drm_device *dev,
89 if (ret < 0) 77 if (ret < 0)
90 goto err; 78 goto err;
91 79
92 exynos_fb->fb.obj[i] = &exynos_gem[i]->base; 80 fb->obj[i] = &exynos_gem[i]->base;
93 } 81 }
94 82
95 drm_helper_mode_fill_fb_struct(dev, &exynos_fb->fb, mode_cmd); 83 drm_helper_mode_fill_fb_struct(dev, fb, mode_cmd);
96 84
97 ret = drm_framebuffer_init(dev, &exynos_fb->fb, &exynos_drm_fb_funcs); 85 ret = drm_framebuffer_init(dev, fb, &exynos_drm_fb_funcs);
98 if (ret < 0) { 86 if (ret < 0) {
99 DRM_ERROR("failed to initialize framebuffer\n"); 87 DRM_ERROR("failed to initialize framebuffer\n");
100 goto err; 88 goto err;
101 } 89 }
102 90
103 return &exynos_fb->fb; 91 return fb;
104 92
105err: 93err:
106 kfree(exynos_fb); 94 kfree(fb);
107 return ERR_PTR(ret); 95 return ERR_PTR(ret);
108} 96}
109 97