]> git.baikalelectronics.ru Git - kernel.git/commit
gpiolib: acpi: Add honor_wakeup module-option + quirk mechanism
authorHans de Goede <hdegoede@redhat.com>
Sun, 5 Jan 2020 16:03:57 +0000 (17:03 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 7 Jan 2020 11:58:15 +0000 (12:58 +0100)
commita83621af4c88cd5c1e909e8b0568036137abd403
treee07a61713359c952402d5a3decb4fd4a7144543f
parent278b78df66d2bfd7ec91bbc43a717b5441da9a32
gpiolib: acpi: Add honor_wakeup module-option + quirk mechanism

On some laptops enabling wakeup on the GPIO interrupts used for ACPI _AEI
event handling causes spurious wakeups.

This commit adds a new honor_wakeup option, defaulting to true (our current
behavior), which can be used to disable wakeup on troublesome hardware
to avoid these spurious wakeups.

This is a workaround for an architectural problem with s2idle under Linux
where we do not have any mechanism to immediately go back to sleep after
wakeup events, other then for embedded-controller events using the standard
ACPI EC interface, for details see:
https://lore.kernel.org/linux-acpi/61450f9b-cbc6-0c09-8b3a-aff6bf9a0b3c@redhat.com/

One series of laptops which is not able to suspend without this workaround
is the HP x2 10 Cherry Trail models, this commit adds a DMI based quirk
which makes sets honor_wakeup to false on these models.

Cc: stable@vger.kernel.org
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20200105160357.97154-3-hdegoede@redhat.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpiolib-acpi.c