linux/drivers/platform/x86
Srinivas Pandruvada 5bf24e20d1 platform/x86: intel-hid: Add support for Device Specific Methods
In some of the recent platforms, it is possible that stand alone methods
for HEBC() or other methods used in this driver may not exist. In this
case intel-hid driver will fail to load and power button will not be
functional.

It is also possible that some quirks in this driver added for some
platforms may have same issue in loading intel-hid driver.

There is an update to the ACPI details for the HID event filter driver.
In the updated specification a _DSM is added, which has separate function
indexes for each of the previous stand alone methods.

This change brings in support for the _DSM and allows usage of function
index for corresponding stand alone methods.

Details of Device Specific Method:

Intel HID Event Filter Driver _DSM UUID:
eeec56b3-4442-408f-a792-4edd4d758054

• Function index 0: Returns a buffer with a bit-field representing the
supported function IDs.

Function Index	ASL Object
--------------------------------
1		BTNL
2		HDMM
3		HDSM
4		HDEM
5		BTNS
6		BTNE
7		HEBC
8		VGBS
9		HEBC

One significant change is to query the supported methods implemented on
the platform. So the previous HEBC() has two variants. HEBC v1 and
HEBC v2. The v2 version allowed further define which of the 5-button
are actually defined by the platform. HEBC v2 support is only available
via new DSM.

v1 Button details:
Bits [0] - Rotation Lock, Num Lock, Home, End, Page Up,
Page Down
Bits [1] - Wireless Radio Control
Bits [2] - System Power Down
Bits [3] - System Hibernate
Bits [4] - System Sleep/ System Wake
Bits [5] - Scan Next Track
Bits [6] - Scan Previous Track
Bits [7] - Stop
Bits [8] - Play/Pause
Bits [9] - Mute
Bits [10] - Volume Increment
Bits [11] - Volume Decrement
Bits [12] - Display Brightness Increment
Bits [13] - Display Brightness Decrement
Bits [14] - Lock Tablet
Bits [15] - Release Tablet
Bits [16] - Toggle Bezel
Bits [17] - 5 button array
Bits [18-31] - reserved

v2 Buttom details:
Bits [0-16] - Same as v1 version
Bits [17] - 5 button array
Bits [18] – Power Button
Bits [19] - W Home Button
Bits [20] - Volume Up Button
Bits [21] - Volume Down Button
Bits [22] – Rotation Lock Button
Bits [23-31] – reserved

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Tested-by: Mario Limonciello <mario.limonciello@dell.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
2018-07-02 16:48:22 +03:00
..
acer-wireless.c platform/x86: Add Acer Wireless Radio Control driver 2017-11-27 13:39:11 +02:00
acer-wmi.c platform/x86: acer-wmi: add another KEY_POWER keycode 2018-05-22 12:24:12 +03:00
acerhdf.c platform/x86: acerhdf: Add const to thermal_cooling_device_ops structure 2017-06-21 14:12:46 -07:00
alienware-wmi.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
amilo-rfkill.c
apple-gmux.c platform/x86: apple-gmux: fix gmux_get_client_id()'s return type 2018-04-24 19:55:33 +03:00
asus-laptop.c platform/x86: Simplify getting .drvdata 2018-04-23 08:52:59 -07:00
asus-nb-wmi.c platform/x86: asus-nb-wmi: Support ALS on the Zenbook UX430UQ 2017-11-27 13:39:11 +02:00
asus-wireless.c platform/x86: asus-wireless: Fix format specifier 2018-05-31 17:16:59 +03:00
asus-wmi.c platform/x86: asus-wmi: Add keyboard backlight toggle support 2018-07-02 15:13:40 +03:00
asus-wmi.h
classmate-laptop.c
compal-laptop.c treewide: Use DEVICE_ATTR_RW 2018-01-09 16:33:31 +01:00
dell-laptop.c platform/x86: dell-laptop: Fix keyboard backlight timeout on XPS 13 9370 2018-06-04 12:30:09 +03:00
dell-rbtn.c platform/x86: dell-rbtn: constify rfkill_ops structures 2017-06-13 11:00:21 -07:00
dell-rbtn.h
dell-smbios-base.c platform/x86: dell-smbios-base: Support systems without tokens 2018-06-26 15:01:52 -07:00
dell-smbios-smm.c platform/x86: dell-smbios: make a function and a pointer static 2018-06-26 15:12:20 -07:00
dell-smbios-wmi.c platform/x86: dell-smbios: Link all dell-smbios-* modules together 2018-03-09 09:35:42 -08:00
dell-smbios.h platform/x86: dell-smbios: Link all dell-smbios-* modules together 2018-03-09 09:35:42 -08:00
dell-smo8800.c platform/x86: dell-smo8800: remove redundant assignments to byte_data 2017-11-05 13:53:14 +02:00
dell-wmi-aio.c
dell-wmi-descriptor.c platform/x86: dell-smbios-wmi: Disable userspace interface if missing hotfix 2017-11-20 12:38:43 -08:00
dell-wmi-descriptor.h platform/x86: dell-smbios-wmi: Disable userspace interface if missing hotfix 2017-11-20 12:38:43 -08:00
dell-wmi-led.c platform/x86: dell-wmi-led: Adjust instance of wmi_evaluate_method calls to 0 2017-06-28 09:01:36 -07:00
dell-wmi.c platform/x86: dell-wmi: Ignore new rfkill and fn-lock events 2018-06-04 12:20:22 +03:00
eeepc-laptop.c treewide: Align function definition open/close braces 2018-03-26 11:13:09 +02:00
eeepc-wmi.c
fujitsu-laptop.c platform/x86: fujitsu-laptop: Simplify soft key handling 2018-04-19 16:25:54 -07:00
fujitsu-tablet.c
gpd-pocket-fan.c platform/x86: GPD pocket fan: fix spelling mistake: "Mill-celcius" -> "millicelsius" 2018-02-15 12:21:48 +02:00
hdaps.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
hp_accel.c platform/x86: hp_accel: Add quirk for HP ProBook 440 G4 2017-10-27 20:54:01 +03:00
hp-wireless.c
hp-wmi.c platform/x86: hp-wmi: Fix tablet mode detection for convertibles 2017-11-05 13:53:14 +02:00
ibm_rtl.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
ideapad-laptop.c platform/x86: ideapad-laptop: Apply no_hw_rfkill to Y20-15IKBM, too 2018-06-26 15:01:52 -07:00
intel_bxtwc_tmu.c platform/x86: intel_bxtwc_tmu: Remove first level IRQ unmask 2017-06-19 15:45:30 +01:00
intel_cht_int33fe.c platform/x86: intel_cht_int33fe: Add device connections for the Type-C port 2018-03-22 13:49:28 +01:00
intel_chtdc_ti_pwrbtn.c platform/x86: Add support for Dollar Cove TI power button 2017-11-27 13:39:11 +02:00
intel_int0002_vgpio.c platform/x86: intel_int0002_vgpio: Remove IRQF_NO_THREAD irq flag 2017-11-27 13:39:11 +02:00
intel_ips.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
intel_ips.h platform/x86: intel_ips: Remove FSF address from GPL notice 2017-10-08 21:07:15 +03:00
intel_menlow.c platform/x86: intel_menlow: Add const to thermal_cooling_device_ops structure 2017-06-21 14:13:10 -07:00
intel_mid_powerbtn.c platform/x86: intel_mid_powerbtn: make mid_pb_ddata const 2017-08-13 15:27:10 +03:00
intel_mid_thermal.c
intel_oaktrail.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
intel_pmc_core.c platform/x86: intel_pmc_core: Add CNP SLPS0 debug registers 2018-07-02 15:00:30 +03:00
intel_pmc_core.h platform/x86: intel_pmc_core: Add CNP SLPS0 debug registers 2018-07-02 15:00:30 +03:00
intel_pmc_ipc.c platform/x86: intel_pmc_ipc: Add read64 API 2017-11-27 13:39:11 +02:00
intel_punit_ipc.c platform/x86: intel_punit_ipc: Fix resource ioremap warning 2017-11-05 13:53:14 +02:00
intel_scu_ipc.c platform: x86: intel_scu_ipc: Replace mdelay with usleep_range in intel_scu_ipc_i2c_cntrl 2018-04-23 17:24:23 +03:00
intel_scu_ipcutil.c
intel_telemetry_core.c platform/x86: intel_telemetry: cleanup redundant headers 2017-10-23 20:01:52 +03:00
intel_telemetry_debugfs.c platform/x86: intel_telemetry: Remove redundancies 2017-11-27 13:39:11 +02:00
intel_telemetry_pltdrv.c platform/x86: intel_telemetry: Add needed inclusion 2017-10-27 19:18:43 +03:00
intel_turbo_max_3.c platform/x86: intel_turbo_max_3: Remove restriction for HWP platforms 2018-02-15 12:21:48 +02:00
intel-hid.c platform/x86: intel-hid: Add support for Device Specific Methods 2018-07-02 16:48:22 +03:00
intel-rst.c
intel-smartconnect.c
intel-vbtn.c platform/x86: intel-vbtn: Reset wakeup capable flag on removal 2018-03-01 13:08:25 +02:00
intel-wmi-thunderbolt.c platform/x86: intel-wmi-thunderbolt: Silence error cases 2017-09-22 15:08:19 -07:00
Kconfig platform/x86: Rename silead_dmi to touchscreen_dmi 2018-07-02 15:00:30 +03:00
Makefile platform/x86: Rename silead_dmi to touchscreen_dmi 2018-07-02 15:00:30 +03:00
mlx-platform.c platform/x86: mlx-platform: Add mlxreg-io platform driver activation 2018-06-19 16:57:21 -07:00
msi-laptop.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
msi-wmi.c platform/x86: msi-wmi: remove unnecessary static in msi_wmi_notify() 2017-07-25 09:56:38 -07:00
mxm-wmi.c platform/x86: mxm-wmi: Evaluate wmi method with instance number 0x0 2017-08-13 15:55:05 +03:00
panasonic-laptop.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
peaq-wmi.c platform/x86: peaq-wmi: Remove unnecessary checks from peaq_wmi_exit 2017-11-03 13:32:09 +02:00
pmc_atom.c seq_file: Introduce DEFINE_SHOW_ATTRIBUTE() helper macro 2018-02-07 12:50:21 +02:00
pvpanic.c
samsung-laptop.c platform/x86: Simplify getting .drvdata 2018-04-23 08:52:59 -07:00
samsung-q10.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
sony-laptop.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
surface3_button.c
surface3-wmi.c
surfacepro3_button.c platform/x86: surfacepro3: Support for wakeup from suspend-to-idle 2018-01-11 18:54:50 +01:00
tc1100-wmi.c
thinkpad_acpi.c platform/x86: thinkpad_acpi: Add support for calculator hotkey 2018-06-26 15:01:52 -07:00
topstar-laptop.c platform/x86: topstar-laptop: replace licence text with SPDX tag 2018-02-23 18:43:42 +02:00
toshiba_acpi.c platform/x86: toshiba_acpi: Update KBD backlight LED on second gen laptops 2018-06-26 14:51:38 -07:00
toshiba_bluetooth.c
toshiba_haps.c platform/x86: toshiba_haps: constify haps_attr_group 2017-06-28 09:01:37 -07:00
toshiba-wmi.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
touchscreen_dmi.c platform/x86: touchscreen_dmi: Add info for the Onda V820w tablet 2018-07-02 16:48:22 +03:00
wmi-bmof.c platform/x86: wmi*: Add recent copyright statements 2017-06-13 11:00:18 -07:00
wmi.c platform/x86: wmi: Do not mix pages and kmalloc 2018-06-22 16:24:40 -07:00
xo1-rfkill.c
xo15-ebook.c