|
@@ -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;
|
|
@@ -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)
|