ACPI: video: Add quirk for the Colorful X15 AT 23 Laptop
authorYuluo Qiu <qyl27@outlook.com>
Sun, 26 Nov 2023 13:59:13 +0000 (21:59 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 5 Feb 2024 20:14:15 +0000 (20:14 +0000)
[ Upstream commit 143176a46bdd3bfbe9ba2462bf94458e80d65ebf ]

The Colorful X15 AT 23 ACPI video-bus device report spurious
ACPI_VIDEO_NOTIFY_CYCLE events resulting in spurious KEY_SWITCHVIDEOMODE
events being reported to userspace (and causing trouble there) when
an external screen plugged in.

Add a quirk setting the report_key_events mask to
REPORT_BRIGHTNESS_KEY_EVENTS so that the ACPI_VIDEO_NOTIFY_CYCLE
events will be ignored, while still reporting brightness up/down
hotkey-presses to userspace normally.

Signed-off-by: Yuluo Qiu <qyl27@outlook.com>
Co-developed-by: Celeste Liu <CoelacanthusHex@gmail.com>
Signed-off-by: Celeste Liu <CoelacanthusHex@gmail.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/acpi/acpi_video.c

index 27a6ae8..a971770 100644 (file)
@@ -500,6 +500,15 @@ static const struct dmi_system_id video_dmi_table[] = {
                DMI_MATCH(DMI_PRODUCT_NAME, "Vostro 3350"),
                },
        },
+       {
+        .callback = video_set_report_key_events,
+        .driver_data = (void *)((uintptr_t)REPORT_BRIGHTNESS_KEY_EVENTS),
+        .ident = "COLORFUL X15 AT 23",
+        .matches = {
+               DMI_MATCH(DMI_SYS_VENDOR, "COLORFUL"),
+               DMI_MATCH(DMI_PRODUCT_NAME, "X15 AT 23"),
+               },
+       },
        /*
         * Some machines change the brightness themselves when a brightness
         * hotkey gets pressed, despite us telling them not to. In this case