linux/drivers/acpi
Robin Everaars 415125669c ACPI: button: Add DMI quirk for Razer Blade Pro 17 early 2020 lid switch
The lid switch reports "close" but can miss the matching "open", leaving
_LID closed after resume. systemd-logind then suspends the system again
roughly every 35 seconds.

Reading the embedded controller's PSTA byte while _LID is stale shows that
bit 0x04 is set, which the DSDT treats as open. The DSDT returns the cached
LIDS byte from _LID. Its wake path aborts in RTEC on an unhandled
SystemCMOS region before copying PSTA to LIDS.

Initialize the lid state to open on resume, matching the existing quirk
for the Razer Blade Stealth 13 late 2019. With
button.lid_init_state=open, a physical close suspended once and resume
reported open without another suspend.

Signed-off-by: Robin Everaars <robineveraars@pm.me>
Link: https://patch.msgid.link/20260817141414.213075-1-robineveraars@pm.me
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2026-08-21 21:33:33 +02:00
..
acpica ACPICA: Define acpi_ut_safe_strncpy() as strscpy_pad() alias 2026-07-01 12:29:24 +02:00
apei ACPI: APEI: Handle repeated SEA error storms 2026-08-07 19:23:25 +02:00
arm64 ACPI/IORT: Implement ACPI infrastructure to enable GICv5 IWB probe deferral 2026-07-09 15:30:19 +02:00
dptf Thermal control updates for 6.19-rc1 2025-12-02 17:49:12 -08:00
nfit ACPI: NFIT: core: Fix possible deadlock and missing notifications 2026-06-08 14:14:45 +02:00
numa ACPI: NUMA: remove redundant node_set() call 2026-07-06 19:56:54 +02:00
pmic ACPI: PMIC: Replace mutex_lock/unlock() with guard()/scoped_guard() 2026-05-08 21:09:23 +02:00
riscv ACPI: irq: Move RISC-V interrupt controllers autodep to ACPI IRQ code 2026-07-09 15:30:18 +02:00
x86 ACPI: TAD/x86: cmos_rtc: Consolidate address space handler setup 2026-02-26 18:50:10 +01:00
ac.c ACPI: AC: Switch over to devres-based resource management 2026-05-25 16:43:51 +02:00
acpi_adxl.c
acpi_apd.c spi: Updates for v7.2 2026-06-16 07:56:47 +05:30
acpi_configfs.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
acpi_dbg.c ACPI: debug: fix signedness issues in read/write helpers 2025-09-23 15:45:28 +02:00
acpi_extlog.c ACPI: extlog: Trace CPER CXL Protocol Error Section 2026-01-14 17:09:34 +01:00
acpi_ffh.c ACPI: FFH: Drop the inclusion of linux/arm-smccc.h 2023-06-12 19:28:20 +02:00
acpi_fpdt.c ACPI: FPDT: validate table and record lengths 2026-07-21 14:36:10 +02:00
acpi_ipmi.c ACPI: IPMI: Fix inverted interface check in ipmi_bmc_gone() 2026-06-19 20:56:20 +02:00
acpi_lpat.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
acpi_lpit.c x86/msr: Rename 'rdmsrl_safe()' to 'rdmsrq_safe()' 2025-04-10 11:58:38 +02:00
acpi_memhotplug.c ACPI: driver: Do not set acpi_device_class() unnecessarily 2026-03-13 16:48:26 +01:00
acpi_mrrm.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
acpi_pad.c ACPI: PAD: Use sysfs_emit() in idlecpus_show() 2026-06-01 19:43:41 +02:00
acpi_pcc.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
acpi_platform.c ACPI: scan: Avoid registering platform devices with resource overlaps 2026-08-10 12:42:04 +02:00
acpi_pnp.c ACPI: PNP: Drop CMOS RTC PNP device support 2026-02-26 18:48:07 +01:00
acpi_processor.c Merge branch 'acpi-driver' 2026-04-09 21:54:15 +02:00
acpi_tad.c ACPI: TAD: Add locking around AML evaluations 2026-08-07 16:00:02 +02:00
acpi_video.c ACPI: video: Use acpi_dev_get_pci_dev() instead of acpi_get_pci_dev() 2026-07-21 16:59:46 +02:00
acpi_watchdog.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
battery.c ACPI: battery: Adjust charging status validation check 2026-07-21 23:08:58 +02:00
bgrt.c sysfs: treewide: switch back to attribute_group::bin_attrs 2025-06-17 10:44:15 +02:00
bus.c ACPI: bus: Avoid confusing complaints regarding missing _OSC features 2026-07-27 15:16:12 +02:00
button.c ACPI: button: Add DMI quirk for Razer Blade Pro 17 early 2020 lid switch 2026-08-21 21:33:33 +02:00
container.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
cppc_acpi.c ACPI: CPPC: Evaluate performance-control PCC use once 2026-08-05 15:09:45 +02:00
debugfs.c ACPI: debugfs: Remove dead ACPICA debug code 2020-09-25 18:25:51 +02:00
device_pm.c Revert "ACPI: PM: Let acpi_dev_pm_attach() skip devices without ACPI PM" 2026-03-03 15:32:53 +01:00
device_sysfs.c ACPI: sysfs: Replace sprintf() with sysfs_emit() 2026-01-27 21:58:58 +01:00
dock.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
ec_sys.c ACPI: EC: Mark the ec_sys write_support param as module_param_hw() 2021-12-01 20:19:30 +01:00
ec.c ACPI: EC: Avoid _REG disconnect on GPIO IRQ defer 2026-07-21 15:49:56 +02:00
event.c ACPI: event: Redefine acpi_notifier_call_chain() 2026-03-13 16:48:24 +01:00
evged.c ACPI: Switch back to struct platform_driver::remove() 2024-11-12 21:30:30 +01:00
fan_attr.c ACPI: fan: Use ACPI handle when retrieving _FST 2025-10-24 10:29:08 +02:00
fan_core.c ACPI: fan: Use devm_acpi_install_notify_handler() 2026-07-10 12:21:51 +02:00
fan_hwmon.c ACPI: fan: Add hwmon notification support 2025-10-27 20:56:01 +01:00
fan.h ACPI: fan: Use correct function parameter name in kernel-doc 2026-07-21 23:01:28 +02:00
glue.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
hed.c ACPI: HED: Switch over to devres-based resource management 2026-05-25 16:43:51 +02:00
internal.h ACPI: DPTF: Remove int340x thermal scan handler 2025-11-07 20:45:37 +01:00
ioapic.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
irq.c ACPI: irq: Move RISC-V interrupt controllers autodep to ACPI IRQ code 2026-07-09 15:30:18 +02:00
Kconfig ACPI: tables: Enable FPDT on LoongArch 2026-04-06 16:43:05 +02:00
Makefile ACPI: MRRM: Minimal parse of ACPI MRRM table 2025-05-12 15:43:16 +02:00
mipi-disco-img.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
nhlt.c ACPI: NHLT: Streamline struct naming 2024-03-27 16:36:45 +01:00
nvs.c ACPI: NVS: replace __get_free_page() with kmalloc() 2026-07-21 14:23:24 +02:00
osi.c ACPI: OSI: Add DMI quirk for Acer Aspire One D255 2026-02-24 15:43:51 +01:00
osl.c Locking updates for v7.1: 2026-04-14 12:36:25 -07:00
pci_irq.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
pci_link.c ACPI: driver: Do not set acpi_device_class() unnecessarily 2026-03-13 16:48:26 +01:00
pci_mcfg.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
pci_root.c ACPI: PCI: Avoid misleading _OSC messages for non-PCIe host bridges without _OSC 2026-08-07 17:00:46 +02:00
pci_slot.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
pfr_telemetry.c ACPI: driver: Check ACPI_COMPANION() against NULL during probe 2026-05-11 18:50:06 +02:00
pfr_update.c ACPI: driver: Check ACPI_COMPANION() against NULL during probe 2026-05-11 18:50:06 +02:00
platform_profile.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
power.c ACPI: bus: Eliminate struct acpi_driver 2026-07-06 13:31:50 +02:00
pptt.c Merge branches 'acpica', 'acpi-osl' and 'acpi-tables' 2026-04-09 21:19:34 +02:00
prmt.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
proc.c ACPI: proc: Prefer to use octal permission 2025-06-26 21:08:13 +02:00
processor_core.c ACPI: processor: validate MADT IOAPIC entry bounds 2026-07-21 15:57:48 +02:00
processor_driver.c ACPI: processor: Unregister cpufreq notifier on init failure 2026-07-31 14:47:34 +02:00
processor_idle.c ACPI: processor_idle: Mark LPI enter functions as __cpuidle 2026-06-24 15:15:53 +02:00
processor_pdc.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
processor_perflib.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
processor_thermal.c ACPI: processor: thermal: Release policy references using __free() 2025-09-08 19:53:32 +02:00
processor_throttling.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
property.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
reboot.c ACPI: reboot: Unify the message printing 2021-06-07 15:36:46 +02:00
resource.c ACPI: resource: Amend kernel-doc style 2026-06-19 20:21:42 +02:00
sbs.c ACPI: driver: Check ACPI_COMPANION() against NULL during probe 2026-05-11 18:50:06 +02:00
sbshc.c ACPI: driver: Check ACPI_COMPANION() against NULL during probe 2026-05-11 18:50:06 +02:00
sbshc.h ACPI: Fix whitespace inconsistencies 2020-11-09 19:08:06 +01:00
scan.c Merge branch 'acpi-video' 2026-08-10 12:46:29 +02:00
sleep.c ACPI: PM: Save NVS memory on Lenovo G70-35 2026-02-19 11:54:52 +01:00
sleep.h ACPI: PM: s2idle: Staticise LPS0 callback functions 2025-10-20 20:39:33 +02:00
spcr.c ACPI: SPCR: Check for table version when using precise baudrate 2025-10-27 20:43:41 +01:00
sysfs.c ACPI: sysfs: Properly map BERT and CCEL data to their ACPI tables 2026-07-21 21:15:53 +02:00
tables.c ACPI / MPAM: Parse the MPAM table 2025-11-19 18:34:20 +00:00
thermal_lib.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
thermal.c ACPI: thermal: Switch over to devres-based resource management 2026-05-25 16:43:51 +02:00
tiny-power-button.c ACPI: driver: Check ACPI_COMPANION() against NULL during probe 2026-05-11 18:50:06 +02:00
utils.c ACPI: utils: Introduce acpi_dev_is_video_device() helper 2026-07-21 15:37:50 +02:00
video_detect.c ACPI: video: Release PCI device reference after lookup 2026-08-07 17:23:56 +02:00
viot.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
wakeup.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00