drm/gma500: Don't register backlight when another backlight should be used
authorHans de Goede <hdegoede@redhat.com>
Sat, 17 Sep 2022 20:59:19 +0000 (22:59 +0200)
committerHans de Goede <hdegoede@redhat.com>
Sun, 18 Sep 2022 19:03:17 +0000 (21:03 +0200)
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 <hdegoede@redhat.com>
Acked-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220917205920.647212-5-hdegoede@redhat.com
drivers/gpu/drm/gma500/backlight.c

index e85fd18..577a498 100644 (file)
@@ -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;