From 34540fb1981e3fe575d1cf8acf667e6d661d0431 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Mon, 20 Feb 2012 14:16:40 +0000 Subject: [PATCH] --- yaml --- r: 293797 b: refs/heads/master c: cbc7e22151d99ed1dd7649d268ad3d81b9e6255a h: refs/heads/master i: 293795: fb08450d9083b70b191e723ab43245833ea1a174 v: v3 --- [refs] | 2 +- trunk/drivers/gpu/drm/drm_crtc.c | 17 ++++++++++++++--- trunk/include/drm/drm_crtc.h | 2 ++ 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 1fa9d6642b5f..e814d8ebaeb9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1828fe6c5f593b835197edd30a28d80635238ab3 +refs/heads/master: cbc7e22151d99ed1dd7649d268ad3d81b9e6255a diff --git a/trunk/drivers/gpu/drm/drm_crtc.c b/trunk/drivers/gpu/drm/drm_crtc.c index d2d9dc52ac89..79902835d057 100644 --- a/trunk/drivers/gpu/drm/drm_crtc.c +++ b/trunk/drivers/gpu/drm/drm_crtc.c @@ -540,10 +540,21 @@ void drm_connector_cleanup(struct drm_connector *connector) } EXPORT_SYMBOL(drm_connector_cleanup); +void drm_connector_unplug_all(struct drm_device *dev) +{ + struct drm_connector *connector; + + /* taking the mode config mutex ends up in a clash with sysfs */ + list_for_each_entry(connector, &dev->mode_config.connector_list, head) + drm_sysfs_connector_remove(connector); + +} +EXPORT_SYMBOL(drm_connector_unplug_all); + int drm_encoder_init(struct drm_device *dev, - struct drm_encoder *encoder, - const struct drm_encoder_funcs *funcs, - int encoder_type) + struct drm_encoder *encoder, + const struct drm_encoder_funcs *funcs, + int encoder_type) { int ret; diff --git a/trunk/include/drm/drm_crtc.h b/trunk/include/drm/drm_crtc.h index 9595c2c9adc7..3401761d6391 100644 --- a/trunk/include/drm/drm_crtc.h +++ b/trunk/include/drm/drm_crtc.h @@ -826,6 +826,8 @@ extern int drm_connector_init(struct drm_device *dev, int connector_type); extern void drm_connector_cleanup(struct drm_connector *connector); +/* helper to unplug all connectors from sysfs for device */ +extern void drm_connector_unplug_all(struct drm_device *dev); extern int drm_encoder_init(struct drm_device *dev, struct drm_encoder *encoder,