Hi Linus, The next week will be all conference travel for me and I'll be traveling in the week after it too, so here's an early request to pull ACPI updates for 6.12-rc1. To receive them, please pull from the tag git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \ acpi-6.12-rc1 with top-most commit 3dd2fcf496359d2e196acd33e53dc921d6e39cff Merge branches 'acpi-video', 'acpi-resource', 'acpi-pad' and 'acpi-misc' on top of commit da3ea35007d0af457a0afc87e84fddaebc4e0b63 Linux 6.11-rc7 These update the ACPICA code in the kernel to upstream version 20240827, add support for ACPI-based enumeration of interrupt controllers on RISC-V along with some related irqchip updates, clean up the ACPI device object sysfs interface, add some quirks for backlight handling and IRQ overrides, fix assorted issues and clean up code. Specifics: - Check return value in acpi_db_convert_to_package() (Pei Xiao). - Detect FACS and allow setting the waking vector on reduced-hardware ACPI platforms (Jiaqing Zhao). - Allow ACPICA to represent semaphores as integers (Adrien Destugues). - Complete CXL 3.0 CXIMS structures support in ACPICA (Zhang Rui). - Make ACPICA support SPCR version 4 and add RISC-V SBI Subtype to DBG2 (Sia Jee Heng). - Implement the Dword_PCC Resource Descriptor Macro in ACPICA (Jose Marinho). - Correct the typo in struct acpi_mpam_msc_node member (Punit Agrawal). - Implement ACPI_WARNING_ONCE() and ACPI_ERROR_ONCE() and use them to prevent a Stall() violation warning from being printed every time this takes place (Vasily Khoruzhick). - Allow PCC Data Type in MCTP resource (Adam Young). - Fix memory leaks on acpi_ps_get_next_namepath() and acpi_ps_get_next_field() failures (Armin Wolf). - Add support for suppressing leading zeros in hex strings when converting them to integers and update integer-to-hex-string conversions in ACPICA (Armin Wolf). - Add support for Windows 11 22H2 _OSI string (Armin Wolf). - Avoid warning for Dump Functions in ACPICA (Adam Lackorzynski). - Add extended linear address mode to HMAT MSCIS in ACPICA (Dave Jiang). - Handle empty connection_node in iasl (Aleksandrs Vinarskis). - Allow for more flexibility in _DSM args (Saket Dumbre). - Setup for ACPICA release 20240827 (Saket Dumbre). - Add ACPI device enumeration support for interrupt controller probing including taking dependencies into account (Sunil V L). - Implement ACPI-based interrupt controller probing on RISC-V (Sunil V L). - Add ACPI support for AIA in riscv-intc and add ACPI support to riscv-imsic, riscv-aplic, and sifive-plic (Sunil V L). - Do not release locks during operation region accesses in the ACPI EC driver (Rafael Wysocki). - Fix up the _STR handling in the ACPI device object sysfs interface, make it represent the device object attributes as an attribute group and make it rely on driver core functionality for sysfs attribute management (Thomas Weißschuh). - Extend error messages printed to the kernel log when acpi_evaluate_dsm() fails to include revision and function number (David Wang). - Add a new AMDI0015 platform device ID to the ACPi APD driver for AMD SoCs (Shyam Sundar S K). - Use the driver core for the async probing management in the ACPI battery driver (Thomas Weißschuh). - Remove redundant initialization of a local variable to NULL from the ACPI battery driver (Ilpo Järvinen). - Remove unneeded check in tps68470_pmic_opregion_probe() (Aleksandr Mishin). - Add support for setting the EPP register through the ACPI CPPC sysfs interface if it is in FFH (Mario Limonciello). - Fix MASK_VAL() usage in the ACPI CPPC library (Clément Léger). - Reduce the log level of a per-CPU message about idle states in the ACPI processor driver (Li RongQing). - Fix crash in exit_round_robin() in the ACPI processor aggregator device (PAD) driver (Seiji Nishikawa). - Add force_vendor quirk for Panasonic Toughbook CF-18 in the ACPI backlight driver (Hans de Goede). - Make the DMI checks related to backlight handling on Lenovo Yoga Tab 3 X90F less strict (Hans de Goede). - Enforce native backlight handling on Apple MacbookPro9,2 (Esther Shimanovich). - Add IRQ override quirks for Asus Vivobook Go E1404GAB and MECHREV GM7XG0M, and refine the TongFang GMxXGxx quirk (Li Chen, Tamim Khan, Werner Sembach). - Quirk ASUS ROG M16 to default to S3 sleep (Luke D. Jones). - Define and use symbols for device and class name lengths in the ACPI bus type code and make the code use strscpy() instead of strcpy() in several places (Muhammad Qasim Abdul Majeed). Thanks! --------------- Adam Lackorzynski (1): ACPICA: Avoid warning for Dump Functions Adam Young (1): ACPICA: Allow PCC Data Type in MCTP resource. Adrien Destugues (1): ACPICA: haiku: Fix invalid value used for semaphores Aleksandr Mishin (1): ACPI: PMIC: Remove unneeded check in tps68470_pmic_opregion_probe() Aleksandrs Vinarskis (1): ACPICA: iasl: handle empty connection_node Armin Wolf (6): ACPICA: Fix memory leak if acpi_ps_get_next_namepath() fails ACPICA: Fix memory leak if acpi_ps_get_next_field() fails ACPICA: Allow for suppressing leading zeros when using acpi_ex_convert_to_ascii() ACPICA: Add support for suppressing leading zeros in hex strings ACPICA: Update integer-to-hex-string conversions ACPICA: Add support for Windows 11 22H2 _OSI string Clément Léger (1): ACPI: CPPC: Fix MASK_VAL() usage Dave Jiang (1): ACPICA: HMAT: Add extended linear address mode to MSCIS David Wang (1): ACPI: utils: Add rev/func to message when acpi_evaluate_dsm() fails Esther Shimanovich (1): ACPI: video: force native for Apple MacbookPro9,2 Hans de Goede (3): ACPI: video: Make Lenovo Yoga Tab 3 X90F DMI match less strict ACPI: x86: Make Lenovo Yoga Tab 3 X90F DMI match less strict ACPI: video: Add force_vendor quirk for Panasonic Toughbook CF-18 Ilpo Järvinen (1): ACPI: battery: Remove redundant NULL initalizations Jiaqing Zhao (2): ACPICA: Detect FACS in reduced hardware build ACPICA: Allow setting waking vector on reduced hardware platforms Jose Marinho (1): ACPICA: Implement the Dword_PCC Resource Descriptor Macro Li Chen (1): ACPI: resource: Do IRQ override on MECHREV GM7XG0M Li RongQing (1): ACPI: processor: Reduce the log level of a per-CPU message about idle states Luke D. Jones (1): ACPI: PM: Quirk ASUS ROG M16 to default to S3 sleep Mario Limonciello (1): ACPI: CPPC: Add support for setting EPP register in FFH Muhammad Qasim Abdul Majeed (7): ACPI: battery: Use strscpy() instead of strcpy() ACPI: AC: Use strscpy() instead of strcpy() ACPI: PAD: Use strscpy() instead of strcpy() ACPI: acpi_processor: Use strscpy instead() of strcpy() ACPI: battery : Use strscpy() instead of strcpy() ACPI: bus: Define and use symbols for device and class name lengths ACPI: button: Use strscpy() instead of strcpy() Pei Xiao (1): ACPICA: check null return of ACPI_ALLOCATE_ZEROED() in acpi_db_convert_to_package() Punit Agrawal (1): ACPICA: MPAM: Correct the typo in struct acpi_mpam_msc_node member Rafael J. Wysocki (1): ACPI: EC: Do not release locks during operation region accesses Saket Dumbre (2): ACPICA: Allow for more flexibility in _DSM args ACPICA: Setup for ACPICA release 20240827 Seiji Nishikawa (1): ACPI: PAD: fix crash in exit_round_robin() Shyam Sundar S K (1): ACPI: APD: Add AMDI0015 as platform device Sia Jee Heng (2): ACPICA: SPCR: Update the SPCR table to version 4 ACPICA: Headers: Add RISC-V SBI Subtype to DBG2 Sunil V L (17): arm64: PCI: Migrate ACPI related functions to pci-acpi.c ACPI: scan: Add a weak arch_sort_irqchip_probe() to order the IRQCHIP probe ACPI: bus: Add acpi_riscv_init() function ACPI: scan: Refactor dependency creation ACPI: scan: Add RISC-V interrupt controllers to honor list ACPI: scan: Define weak function to populate dependencies ACPI: bus: Add RINTC IRQ model for RISC-V ACPI: pci_link: Clear the dependencies after probe ACPI: RISC-V: Implement PCI related functionality ACPI: RISC-V: Implement function to reorder irqchip probe entries ACPI: RISC-V: Initialize GSI mapping structures ACPI: RISC-V: Implement function to add implicit dependencies irqchip/riscv-intc: Add ACPI support for AIA irqchip/riscv-imsic-state: Create separate function for DT irqchip/riscv-imsic: Add ACPI support irqchip/riscv-aplic: Add ACPI support irqchip/sifive-plic: Add ACPI support Tamim Khan (1): ACPI: resource: Skip IRQ override on Asus Vivobook Go E1404GAB Thomas Weißschuh (6): ACPI: sysfs: validate return type of _STR method ACPI: sysfs: evaluate _STR on each sysfs access ACPI: sysfs: manage attributes as attribute_group ACPI: sysfs: manage sysfs attributes through device core ACPI: sysfs: remove return value of acpi_device_setup_files() ACPI: battery: use driver core managed async probing Vasily Khoruzhick (2): ACPICA: Implement ACPI_WARNING_ONCE and ACPI_ERROR_ONCE ACPICA: executer/exsystem: Don't nag user about every Stall() violating the spec Werner Sembach (1): ACPI: resource: Add another DMI match for the TongFang GMxXGxx Zhang Rui (1): ACPICA: Complete CXL 3.0 CXIMS structures --------------- arch/arm64/kernel/pci.c | 191 ---------------- arch/riscv/Kconfig | 2 + arch/riscv/include/asm/irq.h | 55 +++++ arch/riscv/kernel/acpi.c | 31 ++- drivers/acpi/ac.c | 4 +- drivers/acpi/acpi_apd.c | 6 + drivers/acpi/acpi_pad.c | 10 +- drivers/acpi/acpi_processor.c | 6 +- drivers/acpi/acpica/acglobal.h | 6 +- drivers/acpi/acpica/aclocal.h | 2 + drivers/acpi/acpica/acpredef.h | 2 +- drivers/acpi/acpica/dbconvert.c | 2 + drivers/acpi/acpica/exconvrt.c | 58 ++++- drivers/acpi/acpica/exprep.c | 3 + drivers/acpi/acpica/exsystem.c | 11 +- drivers/acpi/acpica/hwxfsleep.c | 15 +- drivers/acpi/acpica/psargs.c | 47 ++++ drivers/acpi/acpica/rsaddr.c | 3 +- drivers/acpi/acpica/rsdump.c | 2 + drivers/acpi/acpica/tbutils.c | 2 - drivers/acpi/acpica/utdelete.c | 4 +- drivers/acpi/acpica/utinit.c | 2 +- drivers/acpi/acpica/utosi.c | 1 + drivers/acpi/acpica/utxfinit.c | 24 +-- drivers/acpi/battery.c | 39 +--- drivers/acpi/bus.c | 4 + drivers/acpi/button.c | 6 +- drivers/acpi/cppc_acpi.c | 53 ++++- drivers/acpi/device_sysfs.c | 196 ++++++++--------- drivers/acpi/ec.c | 55 ++++- drivers/acpi/internal.h | 3 +- drivers/acpi/pci_link.c | 2 + drivers/acpi/pmic/tps68470_pmic.c | 6 +- drivers/acpi/resource.c | 19 ++ drivers/acpi/riscv/Makefile | 2 +- drivers/acpi/riscv/init.c | 13 ++ drivers/acpi/riscv/init.h | 4 + drivers/acpi/riscv/irq.c | 335 +++++++++++++++++++++++++++++ drivers/acpi/scan.c | 109 ++++++---- drivers/acpi/sleep.c | 14 ++ drivers/acpi/utils.c | 3 +- drivers/acpi/video_detect.c | 17 +- drivers/acpi/x86/utils.c | 1 - drivers/irqchip/irq-riscv-aplic-direct.c | 22 +- drivers/irqchip/irq-riscv-aplic-main.c | 71 +++--- drivers/irqchip/irq-riscv-aplic-main.h | 1 + drivers/irqchip/irq-riscv-aplic-msi.c | 9 +- drivers/irqchip/irq-riscv-imsic-early.c | 64 +++++- drivers/irqchip/irq-riscv-imsic-platform.c | 32 ++- drivers/irqchip/irq-riscv-imsic-state.c | 150 +++++++------ drivers/irqchip/irq-riscv-imsic-state.h | 2 +- drivers/irqchip/irq-riscv-intc.c | 90 ++++++++ drivers/irqchip/irq-sifive-plic.c | 99 +++++++-- drivers/pci/pci-acpi.c | 182 ++++++++++++++++ include/acpi/acconfig.h | 1 - include/acpi/acoutput.h | 5 + include/acpi/acpi_bus.h | 9 +- include/acpi/acpixf.h | 10 +- include/acpi/actbl1.h | 10 +- include/acpi/actbl2.h | 2 +- include/acpi/actbl3.h | 12 +- include/acpi/actypes.h | 1 + include/acpi/cppc_acpi.h | 2 + include/acpi/platform/acenv.h | 6 + include/linux/acpi.h | 9 + include/linux/irqchip/riscv-imsic.h | 9 + 66 files changed, 1561 insertions(+), 607 deletions(-)