+8
-20
drivers/gpu/drm/exynos/exynos_drm_fb.c
+8
-20
drivers/gpu/drm/exynos/exynos_drm_fb.c
···
27
27
#include "exynos_drm_iommu.h"
28
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
-
*/
38
-
struct exynos_drm_fb {
39
-
struct drm_framebuffer fb;
40
-
};
41
-
42
30
static int check_fb_gem_memory_type(struct drm_device *drm_dev,
43
31
struct exynos_drm_gem *exynos_gem)
44
32
{
···
64
76
struct exynos_drm_gem **exynos_gem,
65
77
int count)
66
78
{
67
-
struct exynos_drm_fb *exynos_fb;
79
+
struct drm_framebuffer *fb;
68
80
int i;
69
81
int ret;
70
82
71
-
exynos_fb = kzalloc(sizeof(*exynos_fb), GFP_KERNEL);
72
-
if (!exynos_fb)
83
+
fb = kzalloc(sizeof(*fb), GFP_KERNEL);
84
+
if (!fb)
73
85
return ERR_PTR(-ENOMEM);
74
86
75
87
for (i = 0; i < count; i++) {
···
77
89
if (ret < 0)
78
90
goto err;
79
91
80
-
exynos_fb->fb.obj[i] = &exynos_gem[i]->base;
92
+
fb->obj[i] = &exynos_gem[i]->base;
81
93
}
82
94
83
-
drm_helper_mode_fill_fb_struct(dev, &exynos_fb->fb, mode_cmd);
95
+
drm_helper_mode_fill_fb_struct(dev, fb, mode_cmd);
84
96
85
-
ret = drm_framebuffer_init(dev, &exynos_fb->fb, &exynos_drm_fb_funcs);
97
+
ret = drm_framebuffer_init(dev, fb, &exynos_drm_fb_funcs);
86
98
if (ret < 0) {
87
99
DRM_ERROR("failed to initialize framebuffer\n");
88
100
goto err;
89
101
}
90
102
91
-
return &exynos_fb->fb;
103
+
return fb;
92
104
93
105
err:
94
-
kfree(exynos_fb);
106
+
kfree(fb);
95
107
return ERR_PTR(ret);
96
108
}
97
109