]> git.baikalelectronics.ru Git - kernel.git/commit
platform/x86: intel_int0002_vgpio: Use acpi_register_wakeup_handler()
authorHans de Goede <hdegoede@redhat.com>
Fri, 3 Apr 2020 15:48:34 +0000 (17:48 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Sat, 4 Apr 2020 17:46:10 +0000 (19:46 +0200)
commitf524cda0f745e09a79fe58855cb4fe959b17aa61
tree5583d8b4b8fd073e42753399da23f8865ebce6a7
parentd659c4c8aeacdf3fcb733f91ba52d9c8a646ad24
platform/x86: intel_int0002_vgpio: Use acpi_register_wakeup_handler()

The Power Management Events (PMEs) the INT0002 driver listens for get
signalled by the Power Management Controller (PMC) using the same IRQ
as used for the ACPI SCI.

Since commit f3d8a96ecdef ("ACPI: PM: s2idle: Prevent spurious SCIs from
waking up the system") the SCI triggering, without there being a wakeup
cause recognized by the ACPI sleep code, will no longer wakeup the system.

This breaks PMEs / wakeups signalled to the INT0002 driver, the system
never leaves the s2idle_loop() now.

Use acpi_register_wakeup_handler() to register a function which checks
the GPE0a_STS register for a PME and trigger a wakeup when a PME has
been signalled.

Fixes: f3d8a96ecdef ("ACPI: PM: s2idle: Prevent spurious SCIs from waking up the system")
Cc: 5.4+ <stable@vger.kernel.org> # 5.4+
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/platform/x86/intel_int0002_vgpio.c