}
 EXPORT_SYMBOL(ttm_mem_type_manager_init);
 
-int ttm_bo_init_mm(struct ttm_bo_device *bdev, unsigned type,
-                  unsigned long p_size)
-{
-       int ret;
-       struct ttm_mem_type_manager *man;
-
-       BUG_ON(type >= TTM_NUM_MEM_TYPES);
-       ttm_mem_type_manager_init(bdev, &bdev->man[type], p_size);
-
-       if (type != TTM_PL_SYSTEM) {
-               ret = (*man->func->init)(man, p_size);
-               if (ret)
-                       return ret;
-       }
-       ttm_mem_type_manager_set_used(man, true);
-       return 0;
-}
-EXPORT_SYMBOL(ttm_bo_init_mm);
-
 static void ttm_bo_global_kobj_release(struct kobject *kobj)
 {
        struct ttm_bo_global *glob =
 
        }
 }
 
-static int ttm_bo_man_init_private(struct ttm_mem_type_manager *man,
-                                  unsigned long p_size)
+static const struct ttm_mem_type_manager_func ttm_bo_manager_func;
+
+int ttm_range_man_init(struct ttm_bo_device *bdev,
+                      struct ttm_mem_type_manager *man,
+                      unsigned long p_size)
 {
        struct ttm_range_manager *rman;
 
+       man->func = &ttm_bo_manager_func;
+
+       ttm_mem_type_manager_init(bdev, man, p_size);
+
        rman = kzalloc(sizeof(*rman), GFP_KERNEL);
        if (!rman)
                return -ENOMEM;
        drm_mm_init(&rman->mm, 0, p_size);
        spin_lock_init(&rman->lock);
        man->priv = rman;
-       return 0;
-}
 
-int ttm_range_man_init(struct ttm_bo_device *bdev,
-                      struct ttm_mem_type_manager *man,
-                      unsigned long p_size)
-{
-       int ret;
-
-       man->func = &ttm_bo_manager_func;
-
-       ttm_mem_type_manager_init(bdev, man, p_size);
-       ret = ttm_bo_man_init_private(man, p_size);
-       if (ret)
-               return ret;
        ttm_mem_type_manager_set_used(man, true);
        return 0;
 }
        spin_unlock(&rman->lock);
 }
 
-const struct ttm_mem_type_manager_func ttm_bo_manager_func = {
-       .init = ttm_bo_man_init_private,
+static const struct ttm_mem_type_manager_func ttm_bo_manager_func = {
        .takedown = ttm_bo_man_takedown,
        .get_node = ttm_bo_man_get_node,
        .put_node = ttm_bo_man_put_node,
        .debug = ttm_bo_man_debug
 };
-EXPORT_SYMBOL(ttm_bo_manager_func);
 
                               struct ttm_mem_type_manager *man,
                               unsigned long p_size);
 
-/**
- * ttm_bo_init_mm
- *
- * @bdev: Pointer to a ttm_bo_device struct.
- * @mem_type: The memory type.
- * @p_size: size managed area in pages.
- *
- * Initialize a manager for a given memory type.
- * Note: if part of driver firstopen, it must be protected from a
- * potentially racing lastclose.
- * Returns:
- * -EINVAL: invalid size or memory type.
- * -ENOMEM: Not enough memory.
- * May also return driver-specified errors.
- */
-int ttm_bo_init_mm(struct ttm_bo_device *bdev, unsigned type,
-                  unsigned long p_size);
-
 /**
  * ttm_bo_clean_mm
  *
 
 struct ttm_mem_type_manager;
 
 struct ttm_mem_type_manager_func {
-       /**
-        * struct ttm_mem_type_manager member init
-        *
-        * @man: Pointer to a memory type manager.
-        * @p_size: Implementation dependent, but typically the size of the
-        * range to be managed in pages.
-        *
-        * Called to initialize a private range manager. The function is
-        * expected to initialize the man::priv member.
-        * Returns 0 on success, negative error code on failure.
-        */
-       int  (*init)(struct ttm_mem_type_manager *man, unsigned long p_size);
-
        /**
         * struct ttm_mem_type_manager member takedown
         *
                       struct ttm_mem_type_manager *man,
                       unsigned long p_size);
 
-extern const struct ttm_mem_type_manager_func ttm_bo_manager_func;
-
 /**
  * ttm_mem_type_manager_debug
  *