Before this commit when we want userspace to use the acpi_video backlight
device we register both the GPU's native backlight device and acpi_video's
firmware acpi_video# backlight device. This relies on userspace preferring
firmware type backlight devices over native ones.

Registering 2 backlight devices for a single display really is
undesirable, don't register the GPU's native backlight device when
another backlight device should be used.

Signed-off-by: Hans de Goede <hdego...@redhat.com>
---
 drivers/gpu/drm/gma500/backlight.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/gpu/drm/gma500/backlight.c 
b/drivers/gpu/drm/gma500/backlight.c
index 9be28dc0bdd1..376c7d724af7 100644
--- a/drivers/gpu/drm/gma500/backlight.c
+++ b/drivers/gpu/drm/gma500/backlight.c
@@ -7,6 +7,8 @@
  * Authors: Eric Knopp
  */
 
+#include <acpi/video.h>
+
 #include "psb_drv.h"
 #include "psb_intel_reg.h"
 #include "psb_intel_drv.h"
@@ -80,6 +82,12 @@ int gma_backlight_init(struct drm_device *dev)
        if (ret)
                return ret;
 
+       if (!acpi_video_backlight_use_native()) {
+               drm_info(dev, "Skipping %s backlight registration\n",
+                        dev_priv->ops->backlight_name);
+               return 0;
+       }
+
 #ifdef CONFIG_BACKLIGHT_CLASS_DEVICE
        props.brightness = dev_priv->backlight_level;
        props.max_brightness = PSB_MAX_BRIGHTNESS;
-- 
2.37.3

Reply via email to