|
@@ -11409,6 +11409,14 @@ void intel_modeset_gem_init(struct drm_device *dev)
|
|
|
intel_setup_overlay(dev);
|
|
|
}
|
|
|
|
|
|
+void intel_connector_unregister(struct intel_connector *intel_connector)
|
|
|
+{
|
|
|
+ struct drm_connector *connector = &intel_connector->base;
|
|
|
+
|
|
|
+ intel_panel_destroy_backlight(connector);
|
|
|
+ drm_sysfs_connector_remove(connector);
|
|
|
+}
|
|
|
+
|
|
|
void intel_modeset_cleanup(struct drm_device *dev)
|
|
|
{
|
|
|
struct drm_i915_private *dev_priv = dev->dev_private;
|
|
@@ -11453,8 +11461,10 @@ void intel_modeset_cleanup(struct drm_device *dev)
|
|
|
|
|
|
/* destroy the backlight and sysfs files before encoders/connectors */
|
|
|
list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
|
|
|
- intel_panel_destroy_backlight(connector);
|
|
|
- drm_sysfs_connector_remove(connector);
|
|
|
+ struct intel_connector *intel_connector;
|
|
|
+
|
|
|
+ intel_connector = to_intel_connector(connector);
|
|
|
+ intel_connector->unregister(intel_connector);
|
|
|
}
|
|
|
|
|
|
drm_mode_config_cleanup(dev);
|