|
@@ -132,16 +132,14 @@ drm_gem_destroy(struct drm_device *dev)
|
|
|
int drm_gem_object_init(struct drm_device *dev,
|
|
|
struct drm_gem_object *obj, size_t size)
|
|
|
{
|
|
|
- BUG_ON((size & (PAGE_SIZE - 1)) != 0);
|
|
|
+ struct file *filp;
|
|
|
|
|
|
- obj->dev = dev;
|
|
|
- obj->filp = shmem_file_setup("drm mm object", size, VM_NORESERVE);
|
|
|
- if (IS_ERR(obj->filp))
|
|
|
- return PTR_ERR(obj->filp);
|
|
|
+ filp = shmem_file_setup("drm mm object", size, VM_NORESERVE);
|
|
|
+ if (IS_ERR(filp))
|
|
|
+ return PTR_ERR(filp);
|
|
|
|
|
|
- kref_init(&obj->refcount);
|
|
|
- atomic_set(&obj->handle_count, 0);
|
|
|
- obj->size = size;
|
|
|
+ drm_gem_private_object_init(dev, obj, size);
|
|
|
+ obj->filp = filp;
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -152,8 +150,8 @@ EXPORT_SYMBOL(drm_gem_object_init);
|
|
|
* no GEM provided backing store. Instead the caller is responsible for
|
|
|
* backing the object and handling it.
|
|
|
*/
|
|
|
-int drm_gem_private_object_init(struct drm_device *dev,
|
|
|
- struct drm_gem_object *obj, size_t size)
|
|
|
+void drm_gem_private_object_init(struct drm_device *dev,
|
|
|
+ struct drm_gem_object *obj, size_t size)
|
|
|
{
|
|
|
BUG_ON((size & (PAGE_SIZE - 1)) != 0);
|
|
|
|
|
@@ -163,8 +161,6 @@ int drm_gem_private_object_init(struct drm_device *dev,
|
|
|
kref_init(&obj->refcount);
|
|
|
atomic_set(&obj->handle_count, 0);
|
|
|
obj->size = size;
|
|
|
-
|
|
|
- return 0;
|
|
|
}
|
|
|
EXPORT_SYMBOL(drm_gem_private_object_init);
|
|
|
|