diff options
Diffstat (limited to 'drivers/gpu/drm/drm_gem.c')
-rw-r--r-- | drivers/gpu/drm/drm_gem.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c index 603f256152ef..1ad9e7ec0119 100644 --- a/drivers/gpu/drm/drm_gem.c +++ b/drivers/gpu/drm/drm_gem.c | |||
@@ -132,16 +132,14 @@ drm_gem_destroy(struct drm_device *dev) | |||
132 | int drm_gem_object_init(struct drm_device *dev, | 132 | int drm_gem_object_init(struct drm_device *dev, |
133 | struct drm_gem_object *obj, size_t size) | 133 | struct drm_gem_object *obj, size_t size) |
134 | { | 134 | { |
135 | BUG_ON((size & (PAGE_SIZE - 1)) != 0); | 135 | struct file *filp; |
136 | 136 | ||
137 | obj->dev = dev; | 137 | filp = shmem_file_setup("drm mm object", size, VM_NORESERVE); |
138 | obj->filp = shmem_file_setup("drm mm object", size, VM_NORESERVE); | 138 | if (IS_ERR(filp)) |
139 | if (IS_ERR(obj->filp)) | 139 | return PTR_ERR(filp); |
140 | return PTR_ERR(obj->filp); | ||
141 | 140 | ||
142 | kref_init(&obj->refcount); | 141 | drm_gem_private_object_init(dev, obj, size); |
143 | atomic_set(&obj->handle_count, 0); | 142 | obj->filp = filp; |
144 | obj->size = size; | ||
145 | 143 | ||
146 | return 0; | 144 | return 0; |
147 | } | 145 | } |
@@ -152,8 +150,8 @@ EXPORT_SYMBOL(drm_gem_object_init); | |||
152 | * no GEM provided backing store. Instead the caller is responsible for | 150 | * no GEM provided backing store. Instead the caller is responsible for |
153 | * backing the object and handling it. | 151 | * backing the object and handling it. |
154 | */ | 152 | */ |
155 | int drm_gem_private_object_init(struct drm_device *dev, | 153 | void drm_gem_private_object_init(struct drm_device *dev, |
156 | struct drm_gem_object *obj, size_t size) | 154 | struct drm_gem_object *obj, size_t size) |
157 | { | 155 | { |
158 | BUG_ON((size & (PAGE_SIZE - 1)) != 0); | 156 | BUG_ON((size & (PAGE_SIZE - 1)) != 0); |
159 | 157 | ||
@@ -163,8 +161,6 @@ int drm_gem_private_object_init(struct drm_device *dev, | |||
163 | kref_init(&obj->refcount); | 161 | kref_init(&obj->refcount); |
164 | atomic_set(&obj->handle_count, 0); | 162 | atomic_set(&obj->handle_count, 0); |
165 | obj->size = size; | 163 | obj->size = size; |
166 | |||
167 | return 0; | ||
168 | } | 164 | } |
169 | EXPORT_SYMBOL(drm_gem_private_object_init); | 165 | EXPORT_SYMBOL(drm_gem_private_object_init); |
170 | 166 | ||