diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index abdeda1098ae..fd860077d0fe 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -11409,6 +11409,14 @@ void intel_modeset_gem_init(struct drm_device *dev) | |||
11409 | intel_setup_overlay(dev); | 11409 | intel_setup_overlay(dev); |
11410 | } | 11410 | } |
11411 | 11411 | ||
11412 | void intel_connector_unregister(struct intel_connector *intel_connector) | ||
11413 | { | ||
11414 | struct drm_connector *connector = &intel_connector->base; | ||
11415 | |||
11416 | intel_panel_destroy_backlight(connector); | ||
11417 | drm_sysfs_connector_remove(connector); | ||
11418 | } | ||
11419 | |||
11412 | void intel_modeset_cleanup(struct drm_device *dev) | 11420 | void intel_modeset_cleanup(struct drm_device *dev) |
11413 | { | 11421 | { |
11414 | struct drm_i915_private *dev_priv = dev->dev_private; | 11422 | struct drm_i915_private *dev_priv = dev->dev_private; |
@@ -11453,8 +11461,10 @@ void intel_modeset_cleanup(struct drm_device *dev) | |||
11453 | 11461 | ||
11454 | /* destroy the backlight and sysfs files before encoders/connectors */ | 11462 | /* destroy the backlight and sysfs files before encoders/connectors */ |
11455 | list_for_each_entry(connector, &dev->mode_config.connector_list, head) { | 11463 | list_for_each_entry(connector, &dev->mode_config.connector_list, head) { |
11456 | intel_panel_destroy_backlight(connector); | 11464 | struct intel_connector *intel_connector; |
11457 | drm_sysfs_connector_remove(connector); | 11465 | |
11466 | intel_connector = to_intel_connector(connector); | ||
11467 | intel_connector->unregister(intel_connector); | ||
11458 | } | 11468 | } |
11459 | 11469 | ||
11460 | drm_mode_config_cleanup(dev); | 11470 | drm_mode_config_cleanup(dev); |