drm: Clean up drm_dev_unplug
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
This commit is contained in:
parent
2e45eeac7c
commit
0469901ea4
|
@ -381,21 +381,12 @@ static void drm_device_set_unplugged(struct drm_device *dev)
|
||||||
*/
|
*/
|
||||||
void drm_dev_unplug(struct drm_device *dev)
|
void drm_dev_unplug(struct drm_device *dev)
|
||||||
{
|
{
|
||||||
/* for a USB device */
|
drm_dev_unregister(dev);
|
||||||
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);
|
|
||||||
|
|
||||||
mutex_lock(&drm_global_mutex);
|
mutex_lock(&drm_global_mutex);
|
||||||
|
|
||||||
drm_device_set_unplugged(dev);
|
drm_device_set_unplugged(dev);
|
||||||
|
if (dev->open_count == 0)
|
||||||
if (dev->open_count == 0) {
|
drm_dev_unref(dev);
|
||||||
drm_put_dev(dev);
|
|
||||||
}
|
|
||||||
mutex_unlock(&drm_global_mutex);
|
mutex_unlock(&drm_global_mutex);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(drm_dev_unplug);
|
EXPORT_SYMBOL(drm_dev_unplug);
|
||||||
|
|
Loading…
Reference in a new issue