forked from luck/tmp_suning_uos_patched
4b7fb9fcf9
Some Asus machines use 0x4/0x5 as their LED on/off values, while others use 0x0/0x1, as shown in the DSDT excerpts below. Luckily it seems this behavior is tied to different HIDs, after looking at 44 DSDTs from different Asus models. Another small difference is that a few of them call GWBL instead of OWGS, and SWBL instead of OWGD. That does not seem to make a difference for asus-wireless, and is additional reasoning to not try to call these methods directly. Device (ASHS) | Device (ASHS) { | { Name (_HID, "ATK4002") | Name (_HID, "ATK4001") Method (HSWC, 1, Serialized) | Method (HSWC, 1, Serialized) { | { If ((Arg0 < 0x02)) | If ((Arg0 < 0x02)) { | { OWGD (Arg0) | OWGD (Arg0) Return (One) | Return (One) } | } If ((Arg0 == 0x02)) | { | If ((Arg0 == 0x02)) Local0 = OWGS () | { If (Local0) | Return (OWGS ()) { | } Return (0x05) | } | If ((Arg0 == 0x03)) Else | { { | Return (0xFF) Return (0x04) | } } | } | If ((Arg0 == 0x80)) If ((Arg0 == 0x03)) | { { | Return (One) Return (0xFF) | } } | } If ((Arg0 == 0x04)) | Method (_STA, 0, NotSerialized) { | { OWGD (Zero) | If ((MSOS () >= OSW8)) Return (One) | { } | Return (0x0F) If ((Arg0 == 0x05)) | } { | Else OWGD (One) | { Return (One) | Return (Zero) } | } If ((Arg0 == 0x80)) | } { | } Return (One) | } | } | Method (_STA, 0, NotSerialized) | { | If ((MSOS () >= OSW8)) | { | Return (0x0F) | } | Else | { | Return (Zero) | } | } | } | Signed-off-by: João Paulo Rechi Vita <jprvita@endlessm.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> |
||
---|---|---|
.. | ||
acer-wmi.c | ||
acerhdf.c | ||
alienware-wmi.c | ||
amilo-rfkill.c | ||
apple-gmux.c | ||
asus-laptop.c | ||
asus-nb-wmi.c | ||
asus-wireless.c | ||
asus-wmi.c | ||
asus-wmi.h | ||
classmate-laptop.c | ||
compal-laptop.c | ||
dell-laptop.c | ||
dell-rbtn.c | ||
dell-rbtn.h | ||
dell-smbios.c | ||
dell-smbios.h | ||
dell-smo8800.c | ||
dell-wmi-aio.c | ||
dell-wmi.c | ||
eeepc-laptop.c | ||
eeepc-wmi.c | ||
fujitsu-laptop.c | ||
fujitsu-tablet.c | ||
hdaps.c | ||
hp_accel.c | ||
hp-wireless.c | ||
hp-wmi.c | ||
ibm_rtl.c | ||
ideapad-laptop.c | ||
intel_bxtwc_tmu.c | ||
intel_ips.c | ||
intel_ips.h | ||
intel_menlow.c | ||
intel_mid_powerbtn.c | ||
intel_mid_thermal.c | ||
intel_oaktrail.c | ||
intel_pmc_core.c | ||
intel_pmc_core.h | ||
intel_pmc_ipc.c | ||
intel_pmic_gpio.c | ||
intel_punit_ipc.c | ||
intel_scu_ipc.c | ||
intel_scu_ipcutil.c | ||
intel_telemetry_core.c | ||
intel_telemetry_debugfs.c | ||
intel_telemetry_pltdrv.c | ||
intel_turbo_max_3.c | ||
intel-hid.c | ||
intel-rst.c | ||
intel-smartconnect.c | ||
intel-vbtn.c | ||
Kconfig | ||
Makefile | ||
mlx-platform.c | ||
mlxcpld-hotplug.c | ||
msi-laptop.c | ||
msi-wmi.c | ||
mxm-wmi.c | ||
panasonic-laptop.c | ||
pvpanic.c | ||
samsung-laptop.c | ||
samsung-q10.c | ||
silead_dmi.c | ||
sony-laptop.c | ||
surface3_button.c | ||
surface3-wmi.c | ||
surfacepro3_button.c | ||
tc1100-wmi.c | ||
thinkpad_acpi.c | ||
topstar-laptop.c | ||
toshiba_acpi.c | ||
toshiba_bluetooth.c | ||
toshiba_haps.c | ||
toshiba-wmi.c | ||
wmi.c | ||
xo1-rfkill.c | ||
xo15-ebook.c |