]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
platform/x86: intel-hid: Wake up Dell Latitude 7275 from suspend-to-idle
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 28 Jul 2017 00:06:36 +0000 (02:06 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 1 Aug 2017 21:11:17 +0000 (23:11 +0200)
commit635173a17b0323c28a39fb06fa36d876035cd2b9
treeb7a4bd604eee3135e7a011d4610b92b63f0e4fa5
parent142bce74fd141913b2127970a9bd90f33c5b7653
platform/x86: intel-hid: Wake up Dell Latitude 7275 from suspend-to-idle

On Dell Latitude 7275 the 5-button array is not exposed in the
ACPI tables, but still notifies are sent to the Intel HID device
object (device ID INT33D5) in response to power button actions while
suspended to idle.  However, they are currently ignored as the
intel-hid driver is not prepared to take care of them.

As a result, power button wakeup from suspend-to-idle doesn't work
on this platform, but suspend-to-idle is the only reliable suspend
variant on it (the S3 implementation in the platform firmware turns
out to be broken), so it would be good to handle it properly.

For this reason, add an upfront check against the power button press
event (0xCE) to notify_handler() in the wakeup mode which allows it
to catch the power button wakeup notification on the affected
platform (even though priv->array is NULL on it) and should not
change the behavior on platforms with priv->array present (because
priv->array contains the event in question in those cases).

Link: https://bugzilla.kernel.org/show_bug.cgi?id=196115
Tested-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Acked-By: Mario Limonciello <mario.limonciello@dell.com>
drivers/platform/x86/intel-hid.c