drm: Clean up drm_dev_unplug
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 2 Aug 2017 11:56:04 +0000 (13:56 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 11 Aug 2017 08:49:21 +0000 (10:49 +0200)
Use drm_dev_unregister to unregister the interfaces, which also allows
us to simplify the open_count == 0 case.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20170802115604.12734-5-daniel.vetter@ffwll.ch
drivers/gpu/drm/drm_drv.c

index 694040a240af5122140348cc28a8abc9603a1cb0..be38ac7050d473b9be9be24ddb44c1ed79a152f9 100644 (file)
@@ -381,21 +381,12 @@ static void drm_device_set_unplugged(struct drm_device *dev)
  */
 void drm_dev_unplug(struct drm_device *dev)
 {
-       /* for a USB device */
-       if (drm_core_check_feature(dev, DRIVER_MODESET))
-               drm_modeset_unregister_all(dev);
-
-       drm_minor_unregister(dev, DRM_MINOR_PRIMARY);
-       drm_minor_unregister(dev, DRM_MINOR_RENDER);
-       drm_minor_unregister(dev, DRM_MINOR_CONTROL);
+       drm_dev_unregister(dev);
 
        mutex_lock(&drm_global_mutex);
-
        drm_device_set_unplugged(dev);
-
-       if (dev->open_count == 0) {
-               drm_put_dev(dev);
-       }
+       if (dev->open_count == 0)
+               drm_dev_unref(dev);
        mutex_unlock(&drm_global_mutex);
 }
 EXPORT_SYMBOL(drm_dev_unplug);