Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/via: convert to idr_alloc()

Convert to the much saner new idr interface.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: David Airlie <airlied@linux.ie>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Tejun Heo and committed by
Linus Torvalds
36888db2 ff512357

+3 -10
+3 -10
drivers/gpu/drm/via/via_mm.c
··· 148 148 if (retval) 149 149 goto fail_alloc; 150 150 151 - again: 152 - if (idr_pre_get(&dev_priv->object_idr, GFP_KERNEL) == 0) { 153 - retval = -ENOMEM; 151 + retval = idr_alloc(&dev_priv->object_idr, item, 1, 0, GFP_KERNEL); 152 + if (retval < 0) 154 153 goto fail_idr; 155 - } 156 - 157 - retval = idr_get_new_above(&dev_priv->object_idr, item, 1, &user_key); 158 - if (retval == -EAGAIN) 159 - goto again; 160 - if (retval) 161 - goto fail_idr; 154 + user_key = retval; 162 155 163 156 list_add(&item->owner_list, &file_priv->obj_list); 164 157 mutex_unlock(&dev->struct_mutex);