linux/drivers/platform/x86
Pali Rohár 83fc44c32a dell-wmi: Update code for processing WMI events
The WMI buffer can contain multiple events. First value in buffer is
length of event followed by data of specified length. After that is next
length and next data.  When length is zero then there is no more events
in bufffer.

This patch adds support for processing all events in buffer (not only
first) and parse more event types (not only hotkey events). Because of
variable length of events sometimes BIOS fills more hotkeys (or other
values) into single WMI event. In this case this patch also processes
these multiple hotkeys (and not only first one).

Some event types are just ignored because kernel is not interested in
them (e.g. NIC Link status, battery unplug, ...).

This patch is based on DSDT table from Dell Latitude E6440. Code should
be backward compatible so will process other events of old types same as
before this patch.

This patch also fixes a problem with unknown WMI event messages being
written to the log. Now all known events are parsed and those which are
not interesting to the kernel are dropped without an unknown WMI event
message.

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Tested-by: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2014-11-19 09:25:31 -08:00
..
acer-wmi.c acer-wmi: Add acpi_backlight=video quirk for the Acer KAV80 2014-10-27 21:45:13 -07:00
acerhdf.c Drivers: platform: x86: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
alienware-wmi.c alienware-wmi: make hdmi_mux enabled on case-by-case basis 2014-08-16 01:23:55 -07:00
amilo-rfkill.c amilo-rfkill: Enable using amilo-rfkill with the FSC Amilo L1310. 2013-09-05 08:52:12 -04:00
apple-gmux.c More ACPI and power management updates for 3.13-rc1 2013-11-20 13:25:04 -08:00
asus-laptop.c Merge branch 'acpi-cleanup' 2014-01-12 23:44:09 +01:00
asus-nb-wmi.c asus-nb-wmi: Add wapf4 quirk for the X550VB 2014-10-27 21:45:12 -07:00
asus-wmi.c asus-wmi: control wlan-led if wapf > 0 2014-08-16 01:23:50 -07:00
asus-wmi.h asus-wmi: always report brightness key events 2013-02-27 08:30:37 -05:00
classmate-laptop.c ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00
compal-laptop.c compal-laptop: correct invalid hwmon name 2014-08-16 01:23:55 -07:00
dell-laptop.c drivers: platform: change 0x20 to I8042_STR_AUXDATA in i8042 filters 2014-11-19 09:07:07 -08:00
dell-smo8800.c platform: x86: dell-smo8800: Dell Latitude freefall driver (ACPI SMO8800/SMO8810) 2014-06-10 19:11:10 -04:00
dell-wmi-aio.c ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00
dell-wmi.c dell-wmi: Update code for processing WMI events 2014-11-19 09:25:31 -08:00
eeepc-laptop.c eeepc-laptop: clean up control flow in eeepc_acpi_notify 2014-11-19 09:07:08 -08:00
eeepc-wmi.c eeepc-wmi: Constify asus_quirks[] DMI table 2014-08-16 01:23:52 -07:00
fujitsu-laptop.c ACPI / PNP: remove Fujitsu device IDs from ACPI PNP ID list 2014-09-09 00:34:21 +02:00
fujitsu-tablet.c fujitsu-tablet: Mark DMI callbacks as __init code 2014-08-16 01:23:52 -07:00
hdaps.c platform / x86 / PM: Fix unused function warnings for CONFIG_PM_SLEEP 2012-08-10 14:29:43 +02:00
hp_accel.c platform: hp_accel: add a i8042 filter to remove HPQ6000 data from kb bus stream 2014-11-07 10:37:03 -08:00
hp-wireless.c hp-wireless: new driver for hp wireless button for Windows 8 2014-01-21 08:44:18 -05:00
hp-wmi.c hp-wmi: Add missing __init annotations to initialization code 2014-08-16 01:23:53 -07:00
ibm_rtl.c efi: Make 'efi_enabled' a function to query EFI facilities 2013-01-30 11:51:59 -08:00
ideapad-laptop.c quirk for Lenovo Yoga 3: no rfkill switch 2014-10-27 21:45:13 -07:00
intel_ips.c intel_ips: fix a comment typo 2014-11-19 09:07:08 -08: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 ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00
intel_mid_powerbtn.c platform:x86: Remove OOM message after input_allocate_device 2013-11-20 18:51:03 -05:00
intel_mid_thermal.c ix86/mid/thermal: Introduce the use of the managed version of kzalloc 2014-06-10 19:11:07 -04:00
intel_oaktrail.c ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00
intel_pmic_gpio.c driver:gpio remove all usage of gpio_remove retval in driver 2014-09-18 11:03:10 -07:00
intel_scu_ipc.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
intel_scu_ipcutil.c intel_scu_ipc: Remove Moorestown support 2012-03-20 12:02:02 -04:00
intel-rst.c intel-rst: Clean up ACPI add function 2014-09-17 13:55:54 -07:00
intel-smartconnect.c ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00
Kconfig platform: hp_accel: Add SERIO_I8042 as a dependency since it now includes i8042.h/serio.h 2014-11-10 21:16:15 -08:00
Makefile platform/x86: Enable build support for toshiba_haps 2014-08-16 01:23:56 -07:00
msi-laptop.c drivers: platform: change 0x20 to I8042_STR_AUXDATA in i8042 filters 2014-11-19 09:07:07 -08:00
msi-wmi.c msi-wmi: Add MSI Wind support 2013-02-24 14:49:54 -08:00
mxm-wmi.c Merge branch 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86 2014-01-29 18:54:05 -08:00
panasonic-laptop.c Fix sleep / suspend keys for Toughbook CF-51 2014-04-06 12:58:11 -04:00
pvpanic.c pvpanic: Set high notifier priority 2014-06-09 17:45:36 -04:00
samsung-laptop.c samsung-laptop: Add broken-acpi-video quirk for NC210/NC110 2014-10-27 21:45:12 -07:00
samsung-q10.c backlight: Remove trivial get_brightness implementations 2014-06-23 13:24:22 +01:00
sony-laptop.c sony-laptop: fix doesn't work lid resume settings on Vaio Pro 2014-08-16 01:23:49 -07:00
tc1100-wmi.c ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00
thinkpad_acpi.c thinkpad_acpi: replace strnicmp with strncasecmp 2014-10-14 02:18:25 +02:00
topstar-laptop.c platform:x86: Remove OOM message after input_allocate_device 2013-11-20 18:51:03 -05:00
toshiba_acpi.c drivers: platform: change 0x20 to I8042_STR_AUXDATA in i8042 filters 2014-11-19 09:07:07 -08:00
toshiba_bluetooth.c ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00
toshiba_haps.c platform/x86: Toshiba HDD Active Protection Sensor 2014-08-16 01:23:56 -07:00
wmi.c WMI: Remove unnecessary null test 2014-08-16 01:23:51 -07:00
xo1-rfkill.c Drivers: platform: x86: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
xo15-ebook.c ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00