aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_display.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r--drivers/gpu/drm/i915/intel_display.c14
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
11412void 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
11412void intel_modeset_cleanup(struct drm_device *dev) 11420void 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);