summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/sis/sis_drv.c
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2011-10-25 18:00:41 +0200
committerDaniel Vetter <daniel.vetter@ffwll.ch>2011-12-22 00:33:21 +0100
commit6de8a748881f1cd9d795454da2b6db616d5ca3d7 (patch)
tree55bedac6fab93c90461167039024eafdab72395f /drivers/gpu/drm/sis/sis_drv.c
parent77ee8f3825054f23b17e9c8f728f061defd86cdc (diff)
drm/sis: track user->memblock mapping with idr
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/sis/sis_drv.c')
-rw-r--r--drivers/gpu/drm/sis/sis_drv.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/sis/sis_drv.c b/drivers/gpu/drm/sis/sis_drv.c
index 6ad0b857ba2..64d329f7d9b 100644
--- a/drivers/gpu/drm/sis/sis_drv.c
+++ b/drivers/gpu/drm/sis/sis_drv.c
@@ -48,6 +48,7 @@ static int sis_driver_load(struct drm_device *dev, unsigned long chipset)
dev->dev_private = (void *)dev_priv;
dev_priv->chipset = chipset;
+ idr_init(&dev->object_name_idr);
ret = drm_sman_init(&dev_priv->sman, 2, 12, 8);
if (ret)
kfree(dev_priv);
@@ -60,6 +61,9 @@ static int sis_driver_unload(struct drm_device *dev)
drm_sis_private_t *dev_priv = dev->dev_private;
drm_sman_takedown(&dev_priv->sman);
+ idr_remove_all(&dev_priv->object_idr);
+ idr_destroy(&dev_priv->object_idr);
+
kfree(dev_priv);
return 0;