diff options
| author | João Paulo Rechi Vita <jprvita@gmail.com> | 2016-06-13 16:57:35 -0400 |
|---|---|---|
| committer | Darren Hart <dvhart@linux.intel.com> | 2016-07-01 19:01:42 -0400 |
| commit | a961a285b479977fa21f12f71cd62f28adaba17c (patch) | |
| tree | 275404bcb200224c252cb57a0ad5e08bea190103 | |
| parent | 6b7ff2af5286a8c6bec7ff5f4df62e3506c1674e (diff) | |
asus-wmi: Add quirk_no_rfkill_wapf4 for the Asus X456UF
The Asus X456UF has an airplane-mode indicator LED and the WMI WLAN user
bit set, so asus-wmi uses ASUS_WMI_DEVID_WLAN_LED (0x00010002) to store
the wlan state, which has a side-effect of driving the airplane mode
indicator LED in an inverted fashion.
quirk_no_rfkill prevents asus-wmi from registering RFKill switches at
all for this laptop and allows asus-wireless to drive the LED through
the ASHS ACPI device. This laptop already has a quirk for setting
WAPF=4, so this commit creates a new quirk, quirk_no_rfkill_wapf4, which
both disables rfkill and sets WAPF=4.
Signed-off-by: João Paulo Rechi Vita <jprvita@endlessm.com>
Reported-by: Carlo Caione <carlo@endlessm.com>
Reviewed-by: Corentin Chary <corentin.chary@gmail.com>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
| -rw-r--r-- | drivers/platform/x86/asus-nb-wmi.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/platform/x86/asus-nb-wmi.c b/drivers/platform/x86/asus-nb-wmi.c index a93a6dbe186d..8e5255d465d5 100644 --- a/drivers/platform/x86/asus-nb-wmi.c +++ b/drivers/platform/x86/asus-nb-wmi.c | |||
| @@ -82,6 +82,11 @@ static struct quirk_entry quirk_no_rfkill = { | |||
| 82 | .no_rfkill = true, | 82 | .no_rfkill = true, |
| 83 | }; | 83 | }; |
| 84 | 84 | ||
| 85 | static struct quirk_entry quirk_no_rfkill_wapf4 = { | ||
| 86 | .wapf = 4, | ||
| 87 | .no_rfkill = true, | ||
| 88 | }; | ||
| 89 | |||
| 85 | static int dmi_matched(const struct dmi_system_id *dmi) | 90 | static int dmi_matched(const struct dmi_system_id *dmi) |
| 86 | { | 91 | { |
| 87 | quirks = dmi->driver_data; | 92 | quirks = dmi->driver_data; |
| @@ -146,7 +151,7 @@ static const struct dmi_system_id asus_quirks[] = { | |||
| 146 | DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), | 151 | DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), |
| 147 | DMI_MATCH(DMI_PRODUCT_NAME, "X456UF"), | 152 | DMI_MATCH(DMI_PRODUCT_NAME, "X456UF"), |
| 148 | }, | 153 | }, |
| 149 | .driver_data = &quirk_asus_wapf4, | 154 | .driver_data = &quirk_no_rfkill_wapf4, |
| 150 | }, | 155 | }, |
| 151 | { | 156 | { |
| 152 | .callback = dmi_matched, | 157 | .callback = dmi_matched, |
