return 0;
 }
 
-int
-nvkm_vm_create(struct nvkm_mmu *mmu, u64 offset, u64 length, u64 mm_offset,
-              u32 block, struct lock_class_key *key, struct nvkm_vm **pvm)
-{
-       static struct lock_class_key _key;
-       struct nvkm_vm *vm;
-       int ret;
-
-       vm = kzalloc(sizeof(*vm), GFP_KERNEL);
-       if (!vm)
-               return -ENOMEM;
-
-       __mutex_init(&vm->mutex, "&vm->mutex", key ? key : &_key);
-       vm->mmu = mmu;
-
-       ret = nvkm_vm_legacy(mmu, offset, length, mm_offset, block, vm);
-       if (ret) {
-               kfree(vm);
-               return ret;
-       }
-
-       *pvm = vm;
-       return 0;
-}
-
 int
 nvkm_vm_new(struct nvkm_device *device, u64 offset, u64 length, u64 mm_offset,
            struct lock_class_key *key, struct nvkm_vm **pvm)
                return ret;
        }
 
-       if (!mmu->func->create)
-               return -EINVAL;
-
-       return mmu->func->create(mmu, offset, length, mm_offset, key, pvm);
+       return -EINVAL;
 }
 
 static int
 
        .pgt_bits  = 29 - 12,
        .spg_shift = 12,
        .lpg_shift = 16,
-       .create = nv50_vm_create,
        .map_pgt = nv50_vm_map_pgt,
        .map = nv50_vm_map,
        .map_sg = nv50_vm_map_sg,
 
        mutex_unlock(&mmu->subdev.mutex);
 }
 
-int
-gf100_vm_create(struct nvkm_mmu *mmu, u64 offset, u64 length, u64 mm_offset,
-               struct lock_class_key *key, struct nvkm_vm **pvm)
-{
-       return nvkm_vm_create(mmu, offset, length, mm_offset, 4096, key, pvm);
-}
-
 static const struct nvkm_mmu_func
 gf100_mmu = {
        .limit = (1ULL << 40),
        .pgt_bits  = 27 - 12,
        .spg_shift = 12,
        .lpg_shift = 17,
-       .create = gf100_vm_create,
        .map_pgt = gf100_vm_map_pgt,
        .map = gf100_vm_map,
        .map_sg = gf100_vm_map_sg,
 
        .pgt_bits  = 27 - 12,
        .spg_shift = 12,
        .lpg_shift = 17,
-       .create = gf100_vm_create,
        .map_pgt = gf100_vm_map_pgt,
        .map = gf100_vm_map,
        .map_sg = gf100_vm_map_sg,
 
        .pgt_bits  = 27 - 12,
        .spg_shift = 12,
        .lpg_shift = 17,
-       .create = gf100_vm_create,
        .map_pgt = gf100_vm_map_pgt,
        .map = gf100_vm_map,
        .map_sg = gf100_vm_map_sg,
 
        .pgt_bits  = 27 - 12,
        .spg_shift = 12,
        .lpg_shift = 17,
-       .create = gf100_vm_create,
        .map_pgt = gf100_vm_map_pgt,
        .map = gf100_vm_map,
        .map_sg = gf100_vm_map_sg,
        .pgt_bits  = 27 - 12,
        .spg_shift = 12,
        .lpg_shift = 17,
-       .create = gf100_vm_create,
        .map_pgt = gf100_vm_map_pgt,
        .map = gf100_vm_map,
        .map_sg = gf100_vm_map_sg,
 
        .pgt_bits  = 27 - 12,
        .spg_shift = 12,
        .lpg_shift = 17,
-       .create = gf100_vm_create,
        .map_pgt = gf100_vm_map_pgt,
        .map = gf100_vm_map,
        .map_sg = gf100_vm_map_sg,
        .pgt_bits  = 27 - 12,
        .spg_shift = 12,
        .lpg_shift = 17,
-       .create = gf100_vm_create,
        .map_pgt = gf100_vm_map_pgt,
        .map = gf100_vm_map,
        .map_sg = gf100_vm_map_sg,
 
        mutex_unlock(&subdev->mutex);
 }
 
-int
-nv50_vm_create(struct nvkm_mmu *mmu, u64 offset, u64 length, u64 mm_offset,
-              struct lock_class_key *key, struct nvkm_vm **pvm)
-{
-       u32 block = (1 << (mmu->func->pgt_bits + 12));
-       if (block > length)
-               block = length;
-       return nvkm_vm_create(mmu, offset, length, mm_offset, block, key, pvm);
-}
-
 static const struct nvkm_mmu_func
 nv50_mmu = {
        .limit = (1ULL << 40),
        .pgt_bits  = 29 - 12,
        .spg_shift = 12,
        .lpg_shift = 16,
-       .create = nv50_vm_create,
        .map_pgt = nv50_vm_map_pgt,
        .map = nv50_vm_map,
        .map_sg = nv50_vm_map_sg,
 
        u8  spg_shift;
        u8  lpg_shift;
 
-       int  (*create)(struct nvkm_mmu *, u64 offset, u64 length, u64 mm_offset,
-                      struct lock_class_key *, struct nvkm_vm **);
-
        void (*map_pgt)(struct nvkm_gpuobj *pgd, u32 pde,
                        struct nvkm_memory *pgt[2]);
        void (*map)(struct nvkm_vma *, struct nvkm_memory *,
        } vmm;
 };
 
-int nvkm_vm_create(struct nvkm_mmu *, u64, u64, u64, u32,
-                  struct lock_class_key *, struct nvkm_vm **);
-
 extern const struct nvkm_mmu_func nv04_mmu;
 
-int nv50_vm_create(struct nvkm_mmu *, u64, u64, u64, struct lock_class_key *,
-                  struct nvkm_vm **);
 void nv50_vm_map_pgt(struct nvkm_gpuobj *, u32, struct nvkm_memory **);
 void nv50_vm_map(struct nvkm_vma *, struct nvkm_memory *, struct nvkm_mem *,
                 u32, u32, u64, u64);
 void nv50_vm_unmap(struct nvkm_vma *, struct nvkm_memory *, u32, u32);
 void nv50_vm_flush(struct nvkm_vm *);
 
-int gf100_vm_create(struct nvkm_mmu *, u64, u64, u64, struct lock_class_key *,
-                   struct nvkm_vm **);
 void gf100_vm_map_pgt(struct nvkm_gpuobj *, u32, struct nvkm_memory **);
 void gf100_vm_map(struct nvkm_vma *, struct nvkm_memory *, struct nvkm_mem *,
                  u32, u32, u64, u64);