diff options
Diffstat (limited to 'drivers/gpu/drm/drm_crtc.c')
-rw-r--r-- | drivers/gpu/drm/drm_crtc.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c index 23dfec41decb..ea5ec641eacc 100644 --- a/drivers/gpu/drm/drm_crtc.c +++ b/drivers/gpu/drm/drm_crtc.c | |||
@@ -984,6 +984,9 @@ int drm_connector_register(struct drm_connector *connector) | |||
984 | { | 984 | { |
985 | int ret; | 985 | int ret; |
986 | 986 | ||
987 | if (connector->registered) | ||
988 | return 0; | ||
989 | |||
987 | ret = drm_sysfs_connector_add(connector); | 990 | ret = drm_sysfs_connector_add(connector); |
988 | if (ret) | 991 | if (ret) |
989 | return ret; | 992 | return ret; |
@@ -1001,6 +1004,7 @@ int drm_connector_register(struct drm_connector *connector) | |||
1001 | 1004 | ||
1002 | drm_mode_object_register(connector->dev, &connector->base); | 1005 | drm_mode_object_register(connector->dev, &connector->base); |
1003 | 1006 | ||
1007 | connector->registered = true; | ||
1004 | return 0; | 1008 | return 0; |
1005 | 1009 | ||
1006 | err_debugfs: | 1010 | err_debugfs: |
@@ -1019,11 +1023,16 @@ EXPORT_SYMBOL(drm_connector_register); | |||
1019 | */ | 1023 | */ |
1020 | void drm_connector_unregister(struct drm_connector *connector) | 1024 | void drm_connector_unregister(struct drm_connector *connector) |
1021 | { | 1025 | { |
1026 | if (!connector->registered) | ||
1027 | return; | ||
1028 | |||
1022 | if (connector->funcs->early_unregister) | 1029 | if (connector->funcs->early_unregister) |
1023 | connector->funcs->early_unregister(connector); | 1030 | connector->funcs->early_unregister(connector); |
1024 | 1031 | ||
1025 | drm_sysfs_connector_remove(connector); | 1032 | drm_sysfs_connector_remove(connector); |
1026 | drm_debugfs_connector_remove(connector); | 1033 | drm_debugfs_connector_remove(connector); |
1034 | |||
1035 | connector->registered = false; | ||
1027 | } | 1036 | } |
1028 | EXPORT_SYMBOL(drm_connector_unregister); | 1037 | EXPORT_SYMBOL(drm_connector_unregister); |
1029 | 1038 | ||