Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 371476
b: refs/heads/master
c: dc652f9
h: refs/heads/master
v: v3
  • Loading branch information
Jani Nikula authored and Daniel Vetter committed Apr 18, 2013
1 parent 4905f71 commit e32a6ea
Show file tree
Hide file tree
Showing 5 changed files with 11 additions and 7 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: f7708f78bd51a46abf00ae22ebb1b7deb594fc62
refs/heads/master: dc652f90e088798bfa31f496ba994ddadd5d5680
3 changes: 3 additions & 0 deletions trunk/drivers/gpu/drm/i915/intel_display.c
Original file line number Diff line number Diff line change
Expand Up @@ -9423,6 +9423,9 @@ void intel_modeset_cleanup(struct drm_device *dev)
/* flush any delayed tasks or pending work */
flush_scheduled_work();

/* destroy backlight, if any, before the connectors */
intel_panel_destroy_backlight(dev);

drm_mode_config_cleanup(dev);

intel_cleanup_overlay(dev);
Expand Down
5 changes: 1 addition & 4 deletions trunk/drivers/gpu/drm/i915/intel_dp.c
Original file line number Diff line number Diff line change
Expand Up @@ -2474,17 +2474,14 @@ intel_dp_set_property(struct drm_connector *connector,
static void
intel_dp_destroy(struct drm_connector *connector)
{
struct drm_device *dev = connector->dev;
struct intel_dp *intel_dp = intel_attached_dp(connector);
struct intel_connector *intel_connector = to_intel_connector(connector);

if (!IS_ERR_OR_NULL(intel_connector->edid))
kfree(intel_connector->edid);

if (is_edp(intel_dp)) {
intel_panel_destroy_backlight(dev);
if (is_edp(intel_dp))
intel_panel_fini(&intel_connector->panel);
}

drm_sysfs_connector_remove(connector);
drm_connector_cleanup(connector);
Expand Down
1 change: 0 additions & 1 deletion trunk/drivers/gpu/drm/i915/intel_lvds.c
Original file line number Diff line number Diff line change
Expand Up @@ -631,7 +631,6 @@ static void intel_lvds_destroy(struct drm_connector *connector)
if (!IS_ERR_OR_NULL(lvds_connector->base.edid))
kfree(lvds_connector->base.edid);

intel_panel_destroy_backlight(connector->dev);
intel_panel_fini(&lvds_connector->base.panel);

drm_sysfs_connector_remove(connector);
Expand Down
7 changes: 6 additions & 1 deletion trunk/drivers/gpu/drm/i915/intel_panel.c
Original file line number Diff line number Diff line change
Expand Up @@ -428,6 +428,9 @@ int intel_panel_setup_backlight(struct drm_connector *connector)

intel_panel_init_backlight(dev);

if (WARN_ON(dev_priv->backlight.device))
return -ENODEV;

memset(&props, 0, sizeof(props));
props.type = BACKLIGHT_RAW;
props.brightness = dev_priv->backlight.level;
Expand All @@ -453,8 +456,10 @@ int intel_panel_setup_backlight(struct drm_connector *connector)
void intel_panel_destroy_backlight(struct drm_device *dev)
{
struct drm_i915_private *dev_priv = dev->dev_private;
if (dev_priv->backlight.device)
if (dev_priv->backlight.device) {
backlight_device_unregister(dev_priv->backlight.device);
dev_priv->backlight.device = NULL;
}
}
#else
int intel_panel_setup_backlight(struct drm_connector *connector)
Expand Down

0 comments on commit e32a6ea

Please sign in to comment.