drm/i915: Don't register backlight when another backlight should be used (v2)
authorHans de Goede <hdegoede@redhat.com>
Fri, 15 Apr 2022 19:55:35 +0000 (21:55 +0200)
committerHans de Goede <hdegoede@redhat.com>
Thu, 25 Aug 2022 08:55:58 +0000 (10:55 +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.

Changes in v2:
- Use drm_info(drm_dev,  ...) for log messages

Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/gpu/drm/i915/display/intel_backlight.c

index 110fc98..84639e9 100644 (file)
@@ -8,6 +8,8 @@
 #include <linux/pwm.h>
 #include <linux/string_helpers.h>
 
+#include <acpi/video.h>
+
 #include "intel_backlight.h"
 #include "intel_connector.h"
 #include "intel_de.h"
@@ -950,6 +952,11 @@ int intel_backlight_device_register(struct intel_connector *connector)
 
        WARN_ON(panel->backlight.max == 0);
 
+       if (!acpi_video_backlight_use_native()) {
+               drm_info(&i915->drm, "Skipping intel_backlight registration\n");
+               return 0;
+       }
+
        memset(&props, 0, sizeof(props));
        props.type = BACKLIGHT_RAW;