1
0
Fork 0
alistair23-linux/drivers/platform/x86
AceLan Kao a50bd128f2 asus-wmi: record wlan status while controlled by userapp
If the user bit is set, that mean BIOS can't set and record the wlan
status, it will report the value read from id ASUS_WMI_DEVID_WLAN_LED
(0x00010012) while we query the wlan status by id ASUS_WMI_DEVID_WLAN
(0x00010011) through WMI.
So, we have to record wlan status in id ASUS_WMI_DEVID_WLAN_LED
(0x00010012) while setting the wlan status through WMI.
This is also the behavior that windows app will do.

Quote from ASUS application engineer
===
When you call WMIMethod(DSTS, 0x00010011) to get WLAN status, it may return

(1) 0x00050001 (On)
(2) 0x00050000 (Off)
(3) 0x00030001 (On)
(4) 0x00030000 (Off)
(5) 0x00000002 (Unknown)

(1), (2) means that the model has hardware GPIO for WLAN, you can call
WMIMethod(DEVS, 0x00010011, 1 or 0) to turn WLAN on/off.
(3), (4) means that the model doesn’t have hardware GPIO, you need to use
API or driver library to turn WLAN on/off, and call
WMIMethod(DEVS, 0x00010012, 1 or 0) to set WLAN LED status.
After you set WLAN LED status, you can see the WLAN status is changed with
WMIMethod(DSTS, 0x00010011). Because the status is recorded lastly
(ex: Windows), you can use it for synchronization.
(5) means that the model doesn’t have WLAN device.

WLAN is the ONLY special case with upper rule.

For other device, like Bluetooth, you just need use
WMIMethod(DSTS, 0x00010013) to get, and WMIMethod(DEVS, 0x00010013, 1 or 0)
to set.
===

Signed-off-by: AceLan Kao <acelan.kao@canonical.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
2012-08-17 17:34:39 -04:00
..
Kconfig acer-wmi: add quirk table for video backlight vendor mode 2012-03-26 15:47:58 -04:00
Makefile platform/x86: Add driver for Apple gmux device 2012-03-26 15:05:25 -04:00
acer-wmi.c ACER: Fix Smatch double-free issue 2012-07-28 00:28:55 -04:00
acerhdf.c Thermal: Make Thermal trip points writeable 2012-07-24 23:17:20 -04:00
amilo-rfkill.c drivers/platform/x86/amilo-rfkill.c::amilo_rfkill_probe() avoid NULL deref 2012-03-26 15:45:32 -04:00
apple-gmux.c apple_gmux: Fix ACPI video unregister 2012-08-17 17:34:39 -04:00
asus-laptop.c asus-laptop: add some keys found on Lenovo SL500 2012-03-20 12:02:18 -04:00
asus-nb-wmi.c asus-nb-wmi: add some video toggle keys 2012-07-28 00:28:54 -04:00
asus-wmi.c asus-wmi: record wlan status while controlled by userapp 2012-08-17 17:34:39 -04:00
asus-wmi.h asus-wmi: record wlan status while controlled by userapp 2012-08-17 17:34:39 -04:00
classmate-laptop.c platform / x86 / PM: Fix unused function warnings for CONFIG_PM_SLEEP 2012-08-10 14:29:43 +02:00
compal-laptop.c compal-laptop: switch to using use MODULE_DEVICE_TABLE 2012-03-20 12:02:01 -04:00
dell-laptop.c dell-laptop: Add 6 machines to touchpad led quirk 2012-07-28 00:28:55 -04:00
dell-wmi-aio.c dell: Convert printks to pr_<level> 2011-05-27 12:35:47 -04:00
dell-wmi.c dell-wmi: Add keys for Dell XPS L502X 2011-08-05 15:21:47 -04:00
eeepc-laptop.c Merge branch 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86 2012-03-28 14:20:23 -07:00
eeepc-wmi.c asus-wmi: control backlight power through WMI, not ACPI 2012-07-28 00:11:49 -04:00
fujitsu-laptop.c Email/web address change 2012-03-28 10:35:15 +02:00
fujitsu-tablet.c platform / x86 / PM: Fix unused function warnings for CONFIG_PM_SLEEP 2012-08-10 14:29:43 +02:00
hdaps.c platform / x86 / PM: Fix unused function warnings for CONFIG_PM_SLEEP 2012-08-10 14:29:43 +02:00
hp-wmi.c hp-wmi: check for allocation failures 2012-05-31 14:29:33 -04:00
hp_accel.c platform / x86 / PM: Fix unused function warnings for CONFIG_PM_SLEEP 2012-08-10 14:29:43 +02:00
ibm_rtl.c asm-generic: architecture independent readq/writeq for 32bit environment 2012-02-21 16:47:28 -08:00
ideapad-laptop.c ideapad: uninitialized data in ideapad_acpi_add() 2012-06-26 14:43:45 -04:00
intel_ips.c Power management updates for 3.6 2012-07-22 13:36:52 -07:00
intel_ips.h drm/i915, intel_ips: When i915 loads after IPS, make IPS relink to i915. 2010-12-23 09:51:36 +00:00
intel_menlow.c switch sysfs attr->mode to umode_t 2012-01-03 22:54:55 -05:00
intel_mid_powerbtn.c intel_mid_powerbtn: mark irq as IRQF_NO_SUSPEND 2012-05-04 14:40:52 -07:00
intel_mid_thermal.c Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux 2012-07-26 14:28:55 -07:00
intel_oaktrail.c intel-oaktrail: switch to using use MODULE_DEVICE_TABLE 2012-03-20 12:02:02 -04:00
intel_pmic_gpio.c intel_pmic_gpio: Convert printks to pr_<level> 2011-05-27 12:35:50 -04:00
intel_scu_ipc.c intel_scu_ipc: Remove Moorestown support 2012-03-20 12:02:02 -04:00
intel_scu_ipcutil.c intel_scu_ipc: Remove Moorestown support 2012-03-20 12:02:02 -04:00
msi-laptop.c platform / x86 / PM: Fix unused function warnings for CONFIG_PM_SLEEP 2012-08-10 14:29:43 +02:00
msi-wmi.c x86: fix up files really needing to include module.h 2011-10-31 19:30:36 -04:00
mxm-wmi.c mxm/wmi: add MXMX interface entry point. 2011-05-09 11:40:38 +10:00
panasonic-laptop.c platform / x86 / PM: Fix unused function warnings for CONFIG_PM_SLEEP 2012-08-10 14:29:43 +02:00
samsung-laptop.c samsung-laptop: support R40/R41 2012-07-28 00:11:48 -04:00
samsung-q10.c platform-drivers-x86: samsung-q10: make dmi_check_callback return 1 2011-08-05 15:21:47 -04:00
sony-laptop.c platform / x86 / PM: Fix unused function warnings for CONFIG_PM_SLEEP 2012-08-10 14:29:43 +02:00
tc1100-wmi.c tc1100-wmi: Add pr_fmt, use pr_<level> 2011-05-27 12:35:51 -04:00
thinkpad_acpi.c platform / x86 / PM: Fix unused function warnings for CONFIG_PM_SLEEP 2012-08-10 14:29:43 +02:00
topstar-laptop.c topstar-latop: ignore 0x82 event 2011-10-24 16:52:37 +02:00
toshiba_acpi.c platform / x86 / PM: Fix unused function warnings for CONFIG_PM_SLEEP 2012-08-10 14:29:43 +02:00
toshiba_bluetooth.c platform / x86 / PM: Fix unused function warnings for CONFIG_PM_SLEEP 2012-08-10 14:29:43 +02:00
wmi.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
xo1-rfkill.c drivers: OLPC: update various drivers to include olpc-ec.h 2012-07-31 23:27:29 -04:00
xo15-ebook.c platform / x86 / PM: Fix unused function warnings for CONFIG_PM_SLEEP 2012-08-10 14:29:43 +02:00