]> Git Repo - J-linux.git/blobdiff - drivers/gpu/drm/drm_drv.c
Merge tag 'kbuild-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy...
[J-linux.git] / drivers / gpu / drm / drm_drv.c
index 535f16e7882e706b1e0573345b58711b7f6f2d94..243cacb3575c088ac1f378c48e2c72e8a465cc0e 100644 (file)
@@ -48,7 +48,6 @@
 
 #include "drm_crtc_internal.h"
 #include "drm_internal.h"
-#include "drm_legacy.h"
 
 MODULE_AUTHOR("Gareth Hughes, Leif Delgass, José Fonseca, Jon Smirl");
 MODULE_DESCRIPTION("DRM shared core routines");
@@ -585,8 +584,6 @@ static void drm_fs_inode_free(struct inode *inode)
 
 static void drm_dev_init_release(struct drm_device *dev, void *res)
 {
-       drm_legacy_ctxbitmap_cleanup(dev);
-       drm_legacy_remove_map_hash(dev);
        drm_fs_inode_free(dev->anon_inode);
 
        put_device(dev->dev);
@@ -597,7 +594,6 @@ static void drm_dev_init_release(struct drm_device *dev, void *res)
        mutex_destroy(&dev->clientlist_mutex);
        mutex_destroy(&dev->filelist_mutex);
        mutex_destroy(&dev->struct_mutex);
-       drm_legacy_destroy_members(dev);
 }
 
 static int drm_dev_init(struct drm_device *dev,
@@ -632,7 +628,6 @@ static int drm_dev_init(struct drm_device *dev,
                return -EINVAL;
        }
 
-       drm_legacy_init_members(dev);
        INIT_LIST_HEAD(&dev->filelist);
        INIT_LIST_HEAD(&dev->filelist_internal);
        INIT_LIST_HEAD(&dev->clientlist);
@@ -673,12 +668,6 @@ static int drm_dev_init(struct drm_device *dev,
                        goto err;
        }
 
-       ret = drm_legacy_create_map_hash(dev);
-       if (ret)
-               goto err;
-
-       drm_legacy_ctxbitmap_init(dev);
-
        if (drm_core_check_feature(dev, DRIVER_GEM)) {
                ret = drm_gem_init(dev);
                if (ret) {
@@ -949,8 +938,11 @@ int drm_dev_register(struct drm_device *dev, unsigned long flags)
                        goto err_minors;
        }
 
-       if (drm_core_check_feature(dev, DRIVER_MODESET))
-               drm_modeset_register_all(dev);
+       if (drm_core_check_feature(dev, DRIVER_MODESET)) {
+               ret = drm_modeset_register_all(dev);
+               if (ret)
+                       goto err_unload;
+       }
 
        DRM_INFO("Initialized %s %d.%d.%d %s for %s on minor %d\n",
                 driver->name, driver->major, driver->minor,
@@ -960,6 +952,9 @@ int drm_dev_register(struct drm_device *dev, unsigned long flags)
 
        goto out_unlock;
 
+err_unload:
+       if (dev->driver->unload)
+               dev->driver->unload(dev);
 err_minors:
        remove_compat_control_link(dev);
        drm_minor_unregister(dev, DRM_MINOR_ACCEL);
@@ -990,9 +985,6 @@ EXPORT_SYMBOL(drm_dev_register);
  */
 void drm_dev_unregister(struct drm_device *dev)
 {
-       if (drm_core_check_feature(dev, DRIVER_LEGACY))
-               drm_lastclose(dev);
-
        dev->registered = false;
 
        drm_client_dev_unregister(dev);
@@ -1003,9 +995,6 @@ void drm_dev_unregister(struct drm_device *dev)
        if (dev->driver->unload)
                dev->driver->unload(dev);
 
-       drm_legacy_pci_agp_destroy(dev);
-       drm_legacy_rmmaps(dev);
-
        remove_compat_control_link(dev);
        drm_minor_unregister(dev, DRM_MINOR_ACCEL);
        drm_minor_unregister(dev, DRM_MINOR_PRIMARY);
This page took 0.02639 seconds and 4 git commands to generate.