milos-linux/drivers/acpi/acpica
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
..
acapps.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
accommon.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acconvert.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acdebug.h ACPICA: Debugger: drop ACPI_NONSTRING attribute from name_seg 2025-09-15 12:20:12 +02:00
acdispat.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acevents.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acglobal.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
achware.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acinterp.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
aclocal.h ACPICA: Fix largest possible resource descriptor index 2025-09-15 12:20:13 +02:00
acmacros.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acnamesp.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acobject.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acopcode.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acparser.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acpredef.h ACPICA: Update the format of Arg3 of _DSM 2026-03-17 20:51:13 +01:00
acresrc.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acstruct.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
actables.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acutils.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
amlcode.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
amlresrc.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
dbcmds.c
dbconvert.c
dbdisply.c
dbexec.c
dbfileio.c
dbhistry.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
dbinput.c
dbmethod.c
dbnames.c
dbobject.c
dbstats.c
dbtest.c
dbutils.c
dbxface.c
dsargs.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
dscontrol.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
dsdebug.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
dsfield.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
dsinit.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
dsmethod.c ACPICA: Print error messages for too few or too many arguments 2025-09-15 12:20:13 +02:00
dsmthdat.c ACPICA: Add support for printing AML arguments when trace point enabled 2025-04-24 22:01:18 +02:00
dsobject.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
dsopcode.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
dspkginit.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
dsutils.c ACPICA: Fix warnings from PR #295 merge 2025-03-27 13:17:18 +01:00
dswexec.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
dswload.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
dswload2.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
dswscope.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
dswstate.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
evevent.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
evglock.c ACPICA: Allow to skip Global Lock initialization 2025-09-15 12:20:12 +02:00
evgpe.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
evgpeblk.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
evgpeinit.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
evgpeutil.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
evhandler.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
evmisc.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
evregion.c ACPICA: Fix NULL pointer dereference in acpi_ev_address_space_dispatch() 2026-01-15 18:17:47 +01:00
evrgnini.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
evsci.c
evxface.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
evxfevnt.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
evxfgpe.c ACPI: button: Enable wakeup GPEs for ACPI buttons at probe time 2026-05-25 09:52:34 +02:00
evxfregn.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exconcat.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exconfig.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exconvrt.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
excreate.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exdebug.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exdump.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exfield.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exfldio.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exmisc.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exmutex.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exnames.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exoparg1.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exoparg2.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exoparg3.c ACPICA: Fix asltests using the Fatal() opcode 2026-01-15 18:17:48 +01:00
exoparg6.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exprep.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exregion.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exresnte.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exresolv.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exresop.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exserial.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exstore.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exstoren.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exstorob.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exsystem.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
extrace.c ACPICA: Decrease AcpiExTracePoint verbosity 2025-06-26 20:56:57 +02:00
exutils.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
hwacpi.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
hwesleep.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
hwgpe.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
hwpci.c
hwregs.c
hwsleep.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
hwtimer.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
hwvalid.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
hwxface.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
hwxfsleep.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
Makefile
nsaccess.c
nsalloc.c
nsarguments.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
nsconvert.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
nsdump.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
nsdumpdv.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
nseval.c
nsinit.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
nsload.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
nsnames.c ACPICA: Apply ACPI_NONSTRING 2025-05-12 15:38:42 +02:00
nsobject.c
nsparse.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
nspredef.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
nsprepkg.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
nsrepair.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
nsrepair2.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
nssearch.c
nsutils.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
nswalk.c ACPICA: Avoid walking the Namespace if start_node is NULL 2025-11-25 22:14:11 +01:00
nsxfeval.c
nsxfname.c ACPICA: ACPICA: replace ACPI_FREE() with acpi_ut_delete_object_desc() 2026-01-15 18:17:47 +01:00
nsxfobj.c
psargs.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
psloop.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
psobject.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
psopcode.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
psopinfo.c ACPICA: Change the compilation conditions 2025-09-15 12:20:12 +02:00
psparse.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
psscope.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
pstree.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
psutils.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
pswalk.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
psxface.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
rsaddr.c ACPICA: Apply pack(1) to union aml_resource 2025-05-06 23:05:42 +02:00
rscalc.c ACPICA: Apply pack(1) to union aml_resource 2025-05-06 23:05:42 +02:00
rscreate.c
rsdump.c
rsdumpinfo.c
rsinfo.c
rsio.c
rsirq.c
rslist.c ACPICA: Apply pack(1) to union aml_resource 2025-05-06 23:05:42 +02:00
rsmemory.c
rsmisc.c
rsserial.c
rsutils.c
rsxface.c
tbdata.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
tbfadt.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
tbfind.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
tbinstal.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
tbprint.c ACPICA: Work around bogus -Wstringop-overread warning since GCC 11 2025-10-21 15:54:34 +02:00
tbutils.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
tbxface.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
tbxfload.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
tbxfroot.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utaddress.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utalloc.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utascii.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utbuffer.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utcache.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utcksum.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utcopy.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utdebug.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utdecode.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utdelete.c ACPICA: Utilities: Fix spelling mistake "Incremement" -> "Increment" 2025-05-12 15:38:42 +02:00
uterror.c
uteval.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utexcep.c
utglobal.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
uthex.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utids.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utinit.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utlock.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utmath.c
utmisc.c
utmutex.c
utnonansi.c ACPICA: Replace strncpy() with strscpy_pad() in acpi_ut_safe_strncpy() 2026-03-23 18:32:34 +01:00
utobject.c ACPICA: ACPICA: replace ACPI_FREE() with acpi_ut_delete_object_desc() 2026-01-15 18:17:47 +01:00
utosi.c ACPICA: Add support for the Microsoft display mux _OSI string 2026-01-15 18:17:48 +01:00
utownerid.c
utpredef.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utprint.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utresdecode.c
utresrc.c ACPICA: Apply pack(1) to union aml_resource 2025-05-06 23:05:42 +02:00
utstate.c
utstring.c
utstrsuppt.c
utstrtoul64.c
uttrack.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utuuid.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utxface.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utxferror.c
utxfinit.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utxfmutex.c