diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_panel.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_panel.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c index 7874cecc2863..eb5e6e95f3c7 100644 --- a/drivers/gpu/drm/i915/intel_panel.c +++ b/drivers/gpu/drm/i915/intel_panel.c | |||
@@ -428,6 +428,9 @@ int intel_panel_setup_backlight(struct drm_connector *connector) | |||
428 | 428 | ||
429 | intel_panel_init_backlight(dev); | 429 | intel_panel_init_backlight(dev); |
430 | 430 | ||
431 | if (WARN_ON(dev_priv->backlight.device)) | ||
432 | return -ENODEV; | ||
433 | |||
431 | memset(&props, 0, sizeof(props)); | 434 | memset(&props, 0, sizeof(props)); |
432 | props.type = BACKLIGHT_RAW; | 435 | props.type = BACKLIGHT_RAW; |
433 | props.brightness = dev_priv->backlight.level; | 436 | props.brightness = dev_priv->backlight.level; |
@@ -453,8 +456,10 @@ int intel_panel_setup_backlight(struct drm_connector *connector) | |||
453 | void intel_panel_destroy_backlight(struct drm_device *dev) | 456 | void intel_panel_destroy_backlight(struct drm_device *dev) |
454 | { | 457 | { |
455 | struct drm_i915_private *dev_priv = dev->dev_private; | 458 | struct drm_i915_private *dev_priv = dev->dev_private; |
456 | if (dev_priv->backlight.device) | 459 | if (dev_priv->backlight.device) { |
457 | backlight_device_unregister(dev_priv->backlight.device); | 460 | backlight_device_unregister(dev_priv->backlight.device); |
461 | dev_priv->backlight.device = NULL; | ||
462 | } | ||
458 | } | 463 | } |
459 | #else | 464 | #else |
460 | int intel_panel_setup_backlight(struct drm_connector *connector) | 465 | int intel_panel_setup_backlight(struct drm_connector *connector) |