aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_stub.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/drm_stub.c')
-rw-r--r--drivers/gpu/drm/drm_stub.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_stub.c b/drivers/gpu/drm/drm_stub.c
index 6d7b083c5b77..bbd40eaf9821 100644
--- a/drivers/gpu/drm/drm_stub.c
+++ b/drivers/gpu/drm/drm_stub.c
@@ -429,6 +429,11 @@ int drm_put_minor(struct drm_minor **minor_p)
429 return 0; 429 return 0;
430} 430}
431 431
432static void drm_unplug_minor(struct drm_minor *minor)
433{
434 drm_sysfs_device_remove(minor);
435}
436
432/** 437/**
433 * Called via drm_exit() at module unload time or when pci device is 438 * Called via drm_exit() at module unload time or when pci device is
434 * unplugged. 439 * unplugged.
@@ -492,3 +497,21 @@ void drm_put_dev(struct drm_device *dev)
492 kfree(dev); 497 kfree(dev);
493} 498}
494EXPORT_SYMBOL(drm_put_dev); 499EXPORT_SYMBOL(drm_put_dev);
500
501void drm_unplug_dev(struct drm_device *dev)
502{
503 /* for a USB device */
504 if (drm_core_check_feature(dev, DRIVER_MODESET))
505 drm_unplug_minor(dev->control);
506 drm_unplug_minor(dev->primary);
507
508 mutex_lock(&drm_global_mutex);
509
510 drm_device_set_unplugged(dev);
511
512 if (dev->open_count == 0) {
513 drm_put_dev(dev);
514 }
515 mutex_unlock(&drm_global_mutex);
516}
517EXPORT_SYMBOL(drm_unplug_dev);