[GIT PULL] ACPI support updates for v6.19-rc1

From: Rafael J. Wysocki

Date: Fri Nov 28 2025 - 15:31:18 EST


Hi Linus,

I am sending this in advance because I am not expecting to make any changes
to it before next week.

Please pull from the tag

git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
acpi-6.19-rc1

with top-most commit af47d98064e900f279c98bb3bb57445a1e7a8f6b

Merge branches 'acpi-misc' and 'pnp'

on top of commit fbf04215d9966da61feee3f4ec24dbf4544cfd0f

Revert "ACPI: processor: Update cpuidle driver check in
__acpi_processor_start()"

to receive ACPI support updates for 6.19-rc1.

These add Microsoft fan extensions support to the ACPI fan driver,
fix a bug in ACPICA, update other ACPI drivers (processor, time and
alarm device), update ACPI power management code and ACPI device
properties management, and fix an ACPI utility:

- Avoid walking the ACPI namespace in the AML interpreter if the
starting node cannot be determined (Cryolitia PukNgae)

- Use min() instead of min_t() in the ACPI device properties handling
code to avoid discarding significant bits (David Laight)

- Fix potential fwnode refcount leak in acpi_fwnode_graph_parse_endpoint()
that may prevent the parent fwnode from being released (Haotian Zhang)

- Rework acpi_graph_get_next_endpoint() to use ACPI functions only, remove
unnecessary conditionals from it to make it easier to follow, and make
acpi_get_next_subnode() static (Sakari Ailus)

- Drop unused function acpi_get_lps0_constraint(), make some Low-Power
S0 callback functions for suspend-to-idle static, and rearrange the
code retrieving Low-Power S0 constraints so it only runs when the
constraints are actually used (Rafael Wysocki)

- Drop redundant locking from the ACPI battery driver (Rafael Wysocki)

- Improve runtime PM in the ACPI time and alarm device (TAD) driver
using guard macros and rearrange code related to runtime PM in
acpi_tad_remove() (Rafael Wysocki)

- Add support for Microsoft fan extensions to the ACPI fan driver along
with notification support and work around a 64-bit firmware bug in
that driver (Armin Wolf)

- Use ACPI_FREE() to free ACPI buffer in the ACPI DPTF code (Kaushlendra
Kumar)

- Fix a memory leak and a resource leak in the ACPI pfrut utility (Malaya
Kumar Rout)

- Replace `core::mem::zeroed` with `pin_init::zeroed` in the ACPI Rust
code (Siyuan Huang)

- Update the ACPI code to use the new style of allocating workqueues
and new global workqueues (Marco Crivellari)

- Fix two spelling mistakes in the ACPI code (Chu Guangqing)

- Fix ISAPNP to generate uevents to auto-load modules (René Rebe)

- Relocate the state flags initialization in the ACPI processor idle
driver and drop redundant C-state count checks from it (Huisong Li)

- Fix map_x2apic_id() in the ACPI processor core driver for amd-pstate
on am4 (René Rebe)

Thanks!


---------------

Armin Wolf (4):
ACPI: fan: Workaround for 64-bit firmware bug
ACPI: fan: Add basic notification support
ACPI: fan: Add hwmon notification support
ACPI: fan: Add support for Microsoft fan extensions

Chu Guangqing (2):
ACPI: LPSS: Fix a spelling mistake
ACPI: PM: Fix a spelling mistake

Cryolitia PukNgae (1):
ACPICA: Avoid walking the Namespace if start_node is NULL

David Laight (1):
ACPI: property: use min() instead of min_t()

Haotian Zhang (1):
ACPI: property: Fix fwnode refcount leak in
acpi_fwnode_graph_parse_endpoint()

Huisong Li (2):
ACPI: processor: idle: Relocate state flags initialization
ACPI: processor: idle: Drop redundant C-state count checks

Kaushlendra Kumar (1):
ACPI: DPTF: Use ACPI_FREE() for ACPI buffer deallocation

Malaya Kumar Rout (1):
ACPI: tools: pfrut: fix memory leak and resource leak in pfrut.c

Marco Crivellari (5):
ACPI: scan: replace use of system_unbound_wq with system_dfl_wq
ACPI: OSL: replace use of system_wq with system_percpu_wq
ACPI: EC: Add WQ_PERCPU to alloc_workqueue() users
ACPI: OSL: Add WQ_PERCPU to alloc_workqueue() users
ACPI: thermal: Add WQ_PERCPU to alloc_workqueue() users

Rafael J. Wysocki (6):
ACPI: PM: s2idle: Drop acpi_get_lps0_constraint()
ACPI: PM: s2idle: Staticise LPS0 callback functions
ACPI: PM: s2idle: Only retrieve constraints when needed
ACPI: battery: Drop redundant locking
ACPI: TAD: Rearrange runtime PM operations in acpi_tad_remove()
ACPI: TAD: Improve runtime PM using guard macros

René Rebe (2):
PNP: Fix ISAPNP to generate uevents to auto-load modules
ACPI: processor_core: fix map_x2apic_id for amd-pstate on am4

Sakari Ailus (3):
ACPI: property: Make acpi_get_next_subnode() static
ACPI: property: Use ACPI functions in acpi_graph_get_next_endpoint() only
ACPI: property: Rework acpi_graph_get_next_endpoint()

Siyuan Huang (1):
rust: acpi: replace `core::mem::zeroed` with `pin_init::zeroed`

---------------

drivers/acpi/acpi_tad.c | 73 ++++++------
drivers/acpi/acpica/nswalk.c | 9 +-
drivers/acpi/battery.c | 12 --
drivers/acpi/dptf/dptf_pch_fivr.c | 2 +-
drivers/acpi/ec.c | 3 +-
drivers/acpi/fan.h | 40 +++++++
drivers/acpi/fan_core.c | 223 ++++++++++++++++++++++++++++++++++-
drivers/acpi/fan_hwmon.c | 25 ++--
drivers/acpi/osl.c | 6 +-
drivers/acpi/processor_core.c | 2 +-
drivers/acpi/processor_idle.c | 42 +++----
drivers/acpi/property.c | 29 +++--
drivers/acpi/scan.c | 2 +-
drivers/acpi/sleep.c | 2 +-
drivers/acpi/sleep.h | 3 -
drivers/acpi/thermal.c | 3 +-
drivers/acpi/x86/lpss.c | 2 +-
drivers/acpi/x86/s2idle.c | 65 +++++-----
drivers/pnp/driver.c | 19 +++
include/linux/acpi.h | 15 ---
rust/kernel/acpi.rs | 4 +-
tools/power/acpi/tools/pfrut/pfrut.c | 7 +-
22 files changed, 420 insertions(+), 168 deletions(-)