]> 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)
commit47c17f07c9e005205cc365069f25f1abc22f5661
tree5583d8b4b8fd073e42753399da23f8865ebce6a7
parentc366e4cd4b5c144bd63382b421fb9bbafe5332e9
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 b9a2789137f0 ("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: b9a2789137f0 ("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