Merge drm/drm-next into drm-misc-next
[linux-2.6-microblaze.git] / drivers / gpu / drm / exynos / exynos_drm_gem.c
index 7777f19..4afbf51 100644 (file)
@@ -127,6 +127,19 @@ void exynos_drm_gem_destroy(struct exynos_drm_gem *exynos_gem)
        kfree(exynos_gem);
 }
 
+static const struct vm_operations_struct exynos_drm_gem_vm_ops = {
+       .open = drm_gem_vm_open,
+       .close = drm_gem_vm_close,
+};
+
+static const struct drm_gem_object_funcs exynos_drm_gem_object_funcs = {
+       .free = exynos_drm_gem_free_object,
+       .get_sg_table = exynos_drm_gem_prime_get_sg_table,
+       .vmap = exynos_drm_gem_prime_vmap,
+       .vunmap = exynos_drm_gem_prime_vunmap,
+       .vm_ops = &exynos_drm_gem_vm_ops,
+};
+
 static struct exynos_drm_gem *exynos_drm_gem_init(struct drm_device *dev,
                                                  unsigned long size)
 {
@@ -141,6 +154,8 @@ static struct exynos_drm_gem *exynos_drm_gem_init(struct drm_device *dev,
        exynos_gem->size = size;
        obj = &exynos_gem->base;
 
+       obj->funcs = &exynos_drm_gem_object_funcs;
+
        ret = drm_gem_object_init(dev, obj, size);
        if (ret < 0) {
                DRM_DEV_ERROR(dev->dev, "failed to initialize gem object\n");