aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/drm_crtc.c17
-rw-r--r--include/drm/drm_crtc.h2
2 files changed, 16 insertions, 3 deletions
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index d2d9dc52ac89..79902835d057 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -540,10 +540,21 @@ void drm_connector_cleanup(struct drm_connector *connector)
540} 540}
541EXPORT_SYMBOL(drm_connector_cleanup); 541EXPORT_SYMBOL(drm_connector_cleanup);
542 542
543void drm_connector_unplug_all(struct drm_device *dev)
544{
545 struct drm_connector *connector;
546
547 /* taking the mode config mutex ends up in a clash with sysfs */
548 list_for_each_entry(connector, &dev->mode_config.connector_list, head)
549 drm_sysfs_connector_remove(connector);
550
551}
552EXPORT_SYMBOL(drm_connector_unplug_all);
553
543int drm_encoder_init(struct drm_device *dev, 554int drm_encoder_init(struct drm_device *dev,
544 struct drm_encoder *encoder, 555 struct drm_encoder *encoder,
545 const struct drm_encoder_funcs *funcs, 556 const struct drm_encoder_funcs *funcs,
546 int encoder_type) 557 int encoder_type)
547{ 558{
548 int ret; 559 int ret;
549 560
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index 9595c2c9adc7..3401761d6391 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -826,6 +826,8 @@ extern int drm_connector_init(struct drm_device *dev,
826 int connector_type); 826 int connector_type);
827 827
828extern void drm_connector_cleanup(struct drm_connector *connector); 828extern void drm_connector_cleanup(struct drm_connector *connector);
829/* helper to unplug all connectors from sysfs for device */
830extern void drm_connector_unplug_all(struct drm_device *dev);
829 831
830extern int drm_encoder_init(struct drm_device *dev, 832extern int drm_encoder_init(struct drm_device *dev,
831 struct drm_encoder *encoder, 833 struct drm_encoder *encoder,