kernel_optimize_test/drivers/platform/x86
Mario Limonciello 946da69954 platform/x86: intel-vbtn: match power button on press rather than release
This fixes a problem where the system gets stuck in a loop
unable to wakeup via power button in s2idle.

The problem happens because:
 - press power button:
   - system emits 0xc0 (power press), event ignored
   - system emits 0xc1 (power release), event processed,
     emited as KEY_POWER
   - set wakeup_mode to true
   - system goes to s2idle
 - press power button
   - system emits 0xc0 (power press), wakeup_mode is true,
     system wakes
   - system emits 0xc1 (power release), event processed,
     emited as KEY_POWER
   - system goes to s2idle again

To avoid this situation, process the presses (which matches what
intel-hid does too).

Verified on an Dell XPS 9365

Signed-off-by: Mario Limonciello <mario.limonciello@dell.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Darren Hart (VMware) <dvhart@infradead.org>
2017-08-05 14:37:19 -07:00
..
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-led.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_cht_int33fe.c
intel_int0002_vgpio.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_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
peaq-wmi.c
pmc_atom.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-bmof.c
wmi.c
xo1-rfkill.c
xo15-ebook.c