.debugfs_init = tegra_debugfs_init,
 #endif
 
-       .gem_free_object_unlocked = tegra_bo_free_object,
-       .gem_vm_ops = &tegra_bo_vm_ops,
-
        .prime_handle_to_fd = drm_gem_prime_handle_to_fd,
        .prime_fd_to_handle = drm_gem_prime_fd_to_handle,
-       .gem_prime_export = tegra_gem_prime_export,
        .gem_prime_import = tegra_gem_prime_import,
 
        .dumb_create = tegra_bo_dumb_create,
 
        return 0;
 }
 
+static const struct drm_gem_object_funcs tegra_gem_object_funcs = {
+       .free = tegra_bo_free_object,
+       .export = tegra_gem_prime_export,
+       .vm_ops = &tegra_bo_vm_ops,
+};
+
 static struct tegra_bo *tegra_bo_alloc_object(struct drm_device *drm,
                                              size_t size)
 {
        if (!bo)
                return ERR_PTR(-ENOMEM);
 
+       bo->gem.funcs = &tegra_gem_object_funcs;
+
        host1x_bo_init(&bo->base, &tegra_bo_ops);
        size = round_up(size, PAGE_SIZE);