diff options
| -rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_fb.c | 28 |
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 | */ | ||
| 38 | struct exynos_drm_fb { | ||
| 39 | struct drm_framebuffer fb; | ||
| 40 | }; | ||
| 41 | |||
| 42 | static int check_fb_gem_memory_type(struct drm_device *drm_dev, | 30 | static 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 | ||
| 105 | err: | 93 | err: |
| 106 | kfree(exynos_fb); | 94 | kfree(fb); |
| 107 | return ERR_PTR(ret); | 95 | return ERR_PTR(ret); |
| 108 | } | 96 | } |
| 109 | 97 | ||
