Wed Jul 24 02:52:37 2013 UTC ()
Destroy the idr and spin lock in drm_gem_destroy.


(riastradh)
diff -r1.1.1.1.2.4 -r1.1.1.1.2.5 src/sys/external/bsd/drm2/dist/drm/drm_gem.c

cvs diff -r1.1.1.1.2.4 -r1.1.1.1.2.5 src/sys/external/bsd/drm2/dist/drm/drm_gem.c (expand / switch to unified diff)

--- src/sys/external/bsd/drm2/dist/drm/drm_gem.c 2013/07/24 02:52:06 1.1.1.1.2.4
+++ src/sys/external/bsd/drm2/dist/drm/drm_gem.c 2013/07/24 02:52:37 1.1.1.1.2.5
@@ -120,26 +120,31 @@ drm_gem_init(struct drm_device *dev) @@ -120,26 +120,31 @@ drm_gem_init(struct drm_device *dev)
120 120
121 return 0; 121 return 0;
122} 122}
123 123
124void 124void
125drm_gem_destroy(struct drm_device *dev) 125drm_gem_destroy(struct drm_device *dev)
126{ 126{
127 struct drm_gem_mm *mm = dev->mm_private; 127 struct drm_gem_mm *mm = dev->mm_private;
128 128
129 drm_mm_takedown(&mm->offset_manager); 129 drm_mm_takedown(&mm->offset_manager);
130 drm_ht_remove(&mm->offset_hash); 130 drm_ht_remove(&mm->offset_hash);
131 kfree(mm); 131 kfree(mm);
132 dev->mm_private = NULL; 132 dev->mm_private = NULL;
 133
 134#ifdef __NetBSD__
 135 idr_destroy(&dev->object_name_idr);
 136 spin_lock_destroy(&dev->object_name_lock);
 137#endif
133} 138}
134 139
135/** 140/**
136 * Initialize an already allocated GEM object of the specified size with 141 * Initialize an already allocated GEM object of the specified size with
137 * shmfs backing store. 142 * shmfs backing store.
138 */ 143 */
139int drm_gem_object_init(struct drm_device *dev, 144int drm_gem_object_init(struct drm_device *dev,
140 struct drm_gem_object *obj, size_t size) 145 struct drm_gem_object *obj, size_t size)
141{ 146{
142 BUG_ON((size & (PAGE_SIZE - 1)) != 0); 147 BUG_ON((size & (PAGE_SIZE - 1)) != 0);
143 148
144 obj->dev = dev; 149 obj->dev = dev;
145 obj->filp = shmem_file_setup("drm mm object", size, VM_NORESERVE); 150 obj->filp = shmem_file_setup("drm mm object", size, VM_NORESERVE);