aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_panel.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915/intel_panel.c')
-rw-r--r--drivers/gpu/drm/i915/intel_panel.c7
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)
453void intel_panel_destroy_backlight(struct drm_device *dev) 456void 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
460int intel_panel_setup_backlight(struct drm_connector *connector) 465int intel_panel_setup_backlight(struct drm_connector *connector)