summaryrefslogtreecommitdiff
path: root/drivers/platform/x86/asus-wmi.h
diff options
context:
space:
mode:
authorLuke D. Jones <luke@ljones.dev>2023-08-30 06:22:37 +0300
committerHans de Goede <hdegoede@redhat.com>2023-09-12 11:18:07 +0300
commit2c97d3e55b70edf33b6e7f211bab8a748a0a2bcc (patch)
tree8fb7893bfbaa9608cbf854fae9752490548842cb /drivers/platform/x86/asus-wmi.h
parenteab541aac7f49d2f6e21e486af0bd3048cebb3dd (diff)
downloadlinux-2c97d3e55b70edf33b6e7f211bab8a748a0a2bcc.tar.xz
platform/x86: asus-wmi: add support for ASUS screenpad
Add support for the WMI methods used to turn off and adjust the brightness of the secondary "screenpad" device found on some high-end ASUS laptops like the GX650P series and others. There are some small quirks with this device when considering only the raw WMI methods: 1. The Off method can only switch the device off 2. Changing the brightness turns the device back on 3. To turn the device back on the brightness must be > 1 4. When the device is off the brightness can't be changed (so it is stored by the driver if device is off). 5. Booting with a value of 0 brightness (retained by bios) means the bios will set a value of >0 <15 6. When the device is off it is "unplugged" asus_wmi sets the minimum brightness as 20 in general use, and 60 for booting with values <= min. The ACPI methods are used in a new backlight device named asus_screenpad. Signed-off-by: Luke D. Jones <luke@ljones.dev> Link: https://lore.kernel.org/r/20230830032237.42987-2-luke@ljones.dev Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Diffstat (limited to 'drivers/platform/x86/asus-wmi.h')
-rw-r--r--drivers/platform/x86/asus-wmi.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/platform/x86/asus-wmi.h b/drivers/platform/x86/asus-wmi.h
index a478ebfd34df..5fbdd0eafa02 100644
--- a/drivers/platform/x86/asus-wmi.h
+++ b/drivers/platform/x86/asus-wmi.h
@@ -57,6 +57,7 @@ struct quirk_entry {
struct asus_wmi_driver {
int brightness;
int panel_power;
+ int screenpad_brightness;
int wlan_ctrl_by_user;
const char *name;