Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions drivers/platform/x86/asus-nb-wmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,11 @@ static struct quirk_entry quirk_asus_zenbook_duo_kbd = {
.key_wlan_event = ASUS_WMI_KEY_IGNORE,
};

static struct quirk_entry quirk_asus_gx651ar = {
.wmi_backlight_set_devstate = true,
.ignore_wlan_enable_event = true,
};
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Resolved

static struct quirk_entry quirk_asus_z13 = {
.key_wlan_event = ASUS_WMI_KEY_ARMOURY,
.tablet_switch_mode = asus_wmi_kbd_dock_devid,
Expand Down Expand Up @@ -540,6 +545,15 @@ static const struct dmi_system_id asus_quirks[] = {
},
.driver_data = &quirk_asus_ignore_fan,
},
{
.callback = dmi_matched,
.ident = "ASUS ROG Zephyrus Duo GX651AR",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "ASUS"),
DMI_MATCH(DMI_PRODUCT_NAME, "ROG Zephyrus Duo GX651AR"),
},
.driver_data = &quirk_asus_gx651ar,
},
{
.callback = dmi_matched,
.ident = "ASUS Zenbook Duo UX8406MA",
Expand Down Expand Up @@ -710,6 +724,11 @@ static void asus_nb_wmi_key_filter(struct asus_wmi_driver *asus_wmi, int *code,
case 0x5D: /* Wireless console Toggle */
case 0x5E: /* Wireless console Enable / Keyboard Attach, Detach */
case 0x5F: /* Wireless console Disable / Special Key */
/* Ignore keyboard attach/detach events on affected models. */
if (*code == 0x5E && quirks->ignore_wlan_enable_event) {
*code = ASUS_WMI_KEY_IGNORE;
break;
}
if (quirks->key_wlan_event)
*code = quirks->key_wlan_event;
break;
Expand Down
1 change: 1 addition & 0 deletions drivers/platform/x86/asus-wmi.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ struct quirk_entry {
bool wmi_ignore_fan;
bool filter_i8042_e1_extended_codes;
int key_wlan_event;
bool ignore_wlan_enable_event;
enum asus_wmi_tablet_switch_mode tablet_switch_mode;
int wapf;
/*
Expand Down