mirror-linux/include/acpi
Rafael J. Wysocki a004b8f0d3 ACPI: button: Enable wakeup GPEs for ACPI buttons at probe time
Prior to commit 57c31e6d62 ("ACPI: scan: Use acpi_setup_gpe_for_wake()
for buttons"), ACPI button wakeup GPEs having handler methods remained
enabled after acpi_wakeup_gpe_init(), but currently they are not enabled
because acpi_setup_gpe_for_wake() disables them.

That causes function keys to stop working on some systems [1] and there
may be other related issues elsewhere.

To address that, make the ACPI button driver enable wakeup GPEs for ACPI
buttons so long as they have handler methods.  While this does not
restore the old behavior exactly (the ACPI button driver needs to be
bound to the button devices for the GPEs to be enabled), it should be
sufficient to restore the missing functionality.

For this purpose, introduce acpi_enable_gpe_cond() that enables
a GPE if its dispatch type matches the supplied one and modify
acpi_button_probe() to use that function for enabling the GPEs in
question.

Fixes: 57c31e6d62 ("ACPI: scan: Use acpi_setup_gpe_for_wake() for buttons")
Reported-by: Nick <nick@kousu.ca>
Closes: https://lore.kernel.org/linux-acpi/E2OXET.4X5GTP37VTNC3@kousu.ca/ [1]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Tested-by: Nick <nick@kousu.ca>
Cc: 7.0+ <stable@vger.kernel.org> # 7.0+
Link: https://patch.msgid.link/9629117.CDJkKcVGEf@rafael.j.wysocki
2026-05-25 09:52:34 +02:00
..
platform ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acbuffer.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acconfig.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acexcep.h ACPICA: Print error messages for too few or too many arguments 2025-09-15 12:20:13 +02:00
acnames.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acoutput.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acpi.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acpi_bus.h ACPI: bus: add missing forward declaration to acpi_bus.h 2026-04-27 22:02:24 +02:00
acpi_drivers.h ACPI: PCI: IRQ: Fix INTx GSIs signedness 2026-01-05 19:06:40 +01:00
acpi_io.h Revert "ACPI: Add memory semantics to acpi_os_map_memory()" 2021-09-23 20:39:36 +02:00
acpi_lpat.h
acpi_numa.h mm/fake-numa: allow later numa node hotplug 2025-01-25 20:22:29 -08:00
acpiosxf.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acpixf.h ACPI: button: Enable wakeup GPEs for ACPI buttons at probe time 2026-05-25 09:52:34 +02:00
acrestyp.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
actbl.h ACPICA: Apply ACPI_NONSTRING 2025-09-15 12:20:12 +02:00
actbl1.h ACPICA: Provide #defines for EINJV2 error types 2026-04-27 21:42:30 +02:00
actbl2.h ACPICA: actbl2.h: ACPI 6.6: RAS2: Update Parameter Block structure 2026-01-15 18:17:49 +01:00
actbl3.h ACPICA: actbl3.h: ACPI 6.6: SRAT: New flag in Memory Affinity Structure 2026-01-15 18:17:49 +01:00
actypes.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acuuid.h ACPICA: Add UUIDs associated with TPM 2.0 devices 2026-01-15 18:17:47 +01:00
apei.h ACPI: APEI: Fix missing ERST record id 2022-04-13 20:29:24 +02:00
battery.h ACPI: battery: add devm_battery_hook_register() 2024-07-01 21:22:18 +08:00
button.h ACPI: button: move HIDs to acpi/button.h 2020-02-13 23:36:23 +01:00
cppc_acpi.h Power management updates for 7.1-rc1 2026-04-13 19:47:52 -07:00
ghes.h ACPI: APEI: GHES: Add devm_ghes_register_vendor_record_notifier() 2026-04-06 16:48:58 +02:00
hed.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 428 2019-06-05 17:37:16 +02:00
nfit.h
nhlt.h ACPI: NHLT: Streamline struct naming 2024-03-27 16:36:45 +01:00
pcc.h Revert "mailbox/pcc: support mailbox management of the shared buffer" 2026-01-18 14:19:20 -06:00
proc_cap_intel.h ACPI: processor: Introduce acpi_processor_osc() 2023-07-14 17:59:40 +02:00
processor.h ACPI: driver: Do not set acpi_device_class() unnecessarily 2026-03-13 16:48:26 +01:00
reboot.h
video.h ACPI: video: Add Dell UART backlight controller detection 2024-08-19 15:58:35 +02:00