Merge remote branch 'origin/master' into drm-intel-next
[safe/jmp/linux-2.6] / drivers / gpu / drm / drm_hashtab.c
index 3316067..a93d7b4 100644 (file)
@@ -35,6 +35,7 @@
 #include "drmP.h"
 #include "drm_hashtab.h"
 #include <linux/hash.h>
+#include <linux/slab.h>
 
 int drm_ht_create(struct drm_open_hash *ht, unsigned int order)
 {
@@ -46,8 +47,7 @@ int drm_ht_create(struct drm_open_hash *ht, unsigned int order)
        ht->table = NULL;
        ht->use_vmalloc = ((ht->size * sizeof(*ht->table)) > PAGE_SIZE);
        if (!ht->use_vmalloc) {
-               ht->table = drm_calloc(ht->size, sizeof(*ht->table),
-                                      DRM_MEM_HASHTAB);
+               ht->table = kcalloc(ht->size, sizeof(*ht->table), GFP_KERNEL);
        }
        if (!ht->table) {
                ht->use_vmalloc = 1;
@@ -62,6 +62,7 @@ int drm_ht_create(struct drm_open_hash *ht, unsigned int order)
        }
        return 0;
 }
+EXPORT_SYMBOL(drm_ht_create);
 
 void drm_ht_verbose_list(struct drm_open_hash *ht, unsigned long key)
 {
@@ -127,6 +128,7 @@ int drm_ht_insert_item(struct drm_open_hash *ht, struct drm_hash_item *item)
        }
        return 0;
 }
+EXPORT_SYMBOL(drm_ht_insert_item);
 
 /*
  * Just insert an item and return any "bits" bit key that hasn't been
@@ -155,6 +157,7 @@ int drm_ht_just_insert_please(struct drm_open_hash *ht, struct drm_hash_item *it
        }
        return 0;
 }
+EXPORT_SYMBOL(drm_ht_just_insert_please);
 
 int drm_ht_find_item(struct drm_open_hash *ht, unsigned long key,
                     struct drm_hash_item **item)
@@ -168,6 +171,7 @@ int drm_ht_find_item(struct drm_open_hash *ht, unsigned long key,
        *item = hlist_entry(list, struct drm_hash_item, head);
        return 0;
 }
+EXPORT_SYMBOL(drm_ht_find_item);
 
 int drm_ht_remove_key(struct drm_open_hash *ht, unsigned long key)
 {
@@ -188,6 +192,7 @@ int drm_ht_remove_item(struct drm_open_hash *ht, struct drm_hash_item *item)
        ht->fill--;
        return 0;
 }
+EXPORT_SYMBOL(drm_ht_remove_item);
 
 void drm_ht_remove(struct drm_open_hash *ht)
 {
@@ -195,8 +200,8 @@ void drm_ht_remove(struct drm_open_hash *ht)
                if (ht->use_vmalloc)
                        vfree(ht->table);
                else
-                       drm_free(ht->table, ht->size * sizeof(*ht->table),
-                                DRM_MEM_HASHTAB);
+                       kfree(ht->table);
                ht->table = NULL;
        }
 }
+EXPORT_SYMBOL(drm_ht_remove);