Hi Linus, Please pull from the tag git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \ acpi-5.17-rc1 with top-most commit 70df8e1bdc941431af2370270f5140291dcbb282 Merge branches 'acpi-tables', 'acpi-numa', 'acpi-sysfs', 'acpi-cppc', 'acpi-thermal' and 'acpi-battery' on top of commit fc74e0a40e4f9fd0468e34045b0c45bba11dcbb2 Linux 5.16-rc7 to receive ACPI updates for 5.17-rc1. These are usual ACPICA code updates (although there are more of them than in the last few releases), a noticeable EC driver update (which mostly consists of cleanups, though), the device enumeration quirks handling rework from Hans, some updates eliminating unnecessary CPU cache flushing in some places (processor idle and system-wide PM code) and a bunch of assorted cleanups and fixes. Specifics: - Update ACPICA code in the kernel to the 20211217 upstream release including the following changes: * iASL/Disassembler: Additional support for NHLT table (Bob Moore). * Change a return_ACPI_STATUS (AE_BAD_PARAMETER) (Bob Moore). * Fix a couple of warnings under MSVC (Bob Moore). * iASL: Add TDEL table to both compiler/disassembler (Bob Moore). * iASL/NHLT table: "Specific Data" field support (Bob Moore). * Use original data_table_region pointer for accesses (Jessica Clarke). * Use original pointer for virtual origin tables (Jessica Clarke). * Macros: Remove ACPI_PHYSADDR_TO_PTR (Jessica Clarke). * Avoid subobject buffer overflow when validating RSDP signature (Jessica Clarke). * iASL: Add suppport for AGDI table (Ilkka Koskinen). * Hardware: Do not flush CPU cache when entering S4 and S5 (Kirill A. Shutemov). * Expand the ACPI_ACCESS_ definitions (Mark Langsdorf). * Utilities: Avoid deleting the same object twice in a row (Rafael Wysocki). * Executer: Fix REFCLASS_REFOF case in acpi_ex_opcode_1A_0T_1R() (Rafael Wysocki). * Fix AEST Processor generic resource substructure data field byte length (Shuuichirou Ishii). * Fix wrong interpretation of PCC address (Sudeep Holla). * Add support for PCC Opregion special context data (Sudeep Holla). - Implement OperationRegion handler for PCC Type 3 subtype (Sudeep Holla). - Introduce acpi_fetch_acpi_dev() as a replacement for acpi_bus_get_device() and use it in the ACPI subsystem (Rafael Wysocki). - Avoid using _CID for device enumeration if _HID is missing or invalid (Rafael Wysocki). - Rework quirk handling during ACPI device enumeration and add some new quirks for known broken platforms (Hans de Goede). - Avoid unnecessary or redundant CPU cache flushing during system PM transitions (Kirill A. Shutemov). - Add PM debug messages related to power resources (Rafael Wysocki). - Fix kernel-doc comment in the PCI host bridge ACPI driver (Yang Li). - Rework flushing of EC work while suspended to idle and clean up the handling of events in the ACPI EC driver (Rafael Wysocki). - Prohibit ec_sys module parameter write_support from being used when the system is locked down (Hans de Goede). - Make the ACPI processor thermal driver use cpufreq_cpu_get() to check for presence of cpufreq policy (Manfred Spraul). - Avoid unnecessary CPU cache flushing in the ACPI processor idle driver (Kirill A. Shutemov). - Replace kernel.h with the necessary inclusions in the ACPI processor driver (Andy Shevchenko). - Use swap() instead of open coding it in the ACPI processor idle driver (Guo Zhengkui). - Fix the handling of defective LPAT in the ACPI xpower PMIC driver and clean up some definitions of PMIC data structures (Hans de Goede). - Fix outdated comment in the ACPI DPTF driver (Sumeet Pawnikar). - Add AEST to the list of known ACPI table signatures (Shuuichirou Ishii). - Make ACPI NUMA code take hotpluggable memblocks into account when CONFIG_MEMORY_HOTPLUG is not set (Vitaly Kuznetsov). - Use default_groups in kobj_type in the ACPI sysfs code (Greg Kroah-Hartman). - Rearrange _CPC structure documentation (Andy Shevchenko). - Drop an always true check from the ACPI thermal driver (Adam Borowski). - Add new "not charging" quirk for Lenovo ThinkPads to the ACPI battery driver (Thomas Weißschuh). Thanks! --------------- Adam Borowski (1): ACPI: thermal: drop an always true check Andy Shevchenko (2): ACPI: processor: Replace kernel.h with the necessary inclusions ACPI: CPPC: Amend documentation in the comments Bob Moore (6): ACPICA: iASL/Disassembler: Additional support for NHLT table ACPICA: Change a return_ACPI_STATUS (AE_BAD_PARAMETER) ACPICA: Fixed a couple of warnings under MSVC ACPICA: iASL: Add TDEL table to both compiler/disassembler ACPICA: iASL/NHLT table: "Specific Data" field support ACPICA: Update version to 20211217 Greg Kroah-Hartman (1): ACPI: sysfs: use default_groups in kobj_type Guo Zhengkui (1): ACPI: processor idle: Use swap() instead of open coding it Hans de Goede (17): ACPI / x86: Drop PWM2 device on Lenovo Yoga Book from always present table ACPI: Change acpi_device_always_present() into acpi_device_override_status() ACPI / x86: Allow specifying acpi_device_override_status() quirks by path ACPI / x86: Add not-present quirk for the PCI0.SDHB.BRC1 device on the GPD win ACPI / x86: Add PWM2 on the Xiaomi Mi Pad 2 to the always_present list mmc: sdhci-acpi: Remove special handling for GPD win/pocket devices mmc: sdhci-acpi: Use the new soc_intel_is_byt() helper ACPI: EC: Mark the ec_sys write_support param as module_param_hw() ACPI: PMIC: constify all struct intel_pmic_opregion_data declarations ACPI: PMIC: allow drivers to provide a custom lpat_raw_to_temp() function ACPI: PMIC: xpower: Fix _TMP ACPI errors ACPI: scan: Create platform device for BCM4752 and LNV4752 ACPI nodes ACPI / x86: Add acpi_quirk_skip_[i2c_client|serdev]_enumeration() helpers i2c: acpi: Do not instantiate I2C-clients on boards with known bogus DSDT entries serdev: Do not instantiate serdevs on boards with known bogus DSDT entries ACPI / x86: Introduce an acpi_quirk_skip_acpi_ac_and_battery() helper ACPI / x86: Skip AC and battery devices on x86 Android tablets with broken DSDTs Ilkka Koskinen (1): ACPICA: iASL: Add support for AGDI table Jessica Clarke (4): ACPICA: Use original data_table_region pointer for accesses ACPICA: Use original pointer for virtual origin tables ACPICA: Macros: Remove ACPI_PHYSADDR_TO_PTR ACPICA: Avoid subobject buffer overflow when validating RSDP signature Kirill A. Shutemov (4): ACPI: PM: Avoid CPU cache flush when entering S4 ACPI: processor: idle: Only flush cache on entering C3 ACPI: PM: Remove redundant cache flushing ACPICA: Hardware: Do not flush CPU cache when entering S4 and S5 Manfred Spraul (1): ACPI: processor: thermal: avoid cpufreq_get_policy() Mark Langsdorf (1): ACPICA: actypes.h: Expand the ACPI_ACCESS_ definitions Rafael J. Wysocki (16): ACPI: PM: Emit debug messages when enabling/disabling wakeup power ACPI: scan: Do not add device IDs from _CID if _HID is not valid ACPI: EC: Rework flushing of EC work while suspended to idle ACPI: EC: Call advance_transaction() from acpi_ec_dispatch_gpe() ACPI: EC: Pass one argument to acpi_ec_query() ACPI: EC: Fold acpi_ec_check_event() into acpi_ec_event_handler() ACPI: EC: Rearrange the loop in acpi_ec_event_handler() ACPI: EC: Simplify locking in acpi_ec_event_handler() ACPI: EC: Rename three functions ACPI: EC: Avoid queuing unnecessary work in acpi_ec_submit_event() ACPI: EC: Make the event work state machine visible ACPI: EC: Relocate acpi_ec_create_query() and drop acpi_ec_delete_query() ACPI: scan: Introduce acpi_fetch_acpi_dev() ACPI: Use acpi_fetch_acpi_dev() instead of acpi_bus_get_device() ACPICA: Utilities: Avoid deleting the same object twice in a row ACPICA: Executer: Fix the REFCLASS_REFOF case in acpi_ex_opcode_1A_0T_1R() Shuuichirou Ishii (2): ACPI: tables: Add AEST to the list of known table signatures ACPICA: Fix AEST Processor generic resource substructure data field byte length Sudeep Holla (3): ACPICA: Fix wrong interpretation of PCC address ACPICA: Add support for PCC Opregion special context data ACPI: PCC: Implement OperationRegion handler for the PCC Type 3 subtype Sumeet Pawnikar (1): ACPI: DPTF: Update device ID in a comment Thomas Weißschuh (1): ACPI: battery: Add the ThinkPad "Not Charging" quirk Vitaly Kuznetsov (1): ACPI: NUMA: Process hotpluggable memblocks when !CONFIG_MEMORY_HOTPLUG Yang Li (1): PCI/ACPI: Fix acpi_pci_osc_control_set() kernel-doc comment --------------- drivers/acpi/Kconfig | 17 ++ drivers/acpi/Makefile | 1 + drivers/acpi/ac.c | 43 +---- drivers/acpi/acpi_pcc.c | 120 ++++++++++++ drivers/acpi/acpi_video.c | 5 +- drivers/acpi/acpica/acevents.h | 5 + drivers/acpi/acpica/acobject.h | 1 + drivers/acpi/acpica/actables.h | 8 +- drivers/acpi/acpica/dsopcode.c | 1 + drivers/acpi/acpica/evhandler.c | 2 +- drivers/acpi/acpica/evregion.c | 10 + drivers/acpi/acpica/evrgnini.c | 52 ++++++ drivers/acpi/acpica/exconfig.c | 2 +- drivers/acpi/acpica/excreate.c | 1 + drivers/acpi/acpica/exfield.c | 7 +- drivers/acpi/acpica/exoparg1.c | 3 +- drivers/acpi/acpica/exregion.c | 15 +- drivers/acpi/acpica/hwesleep.c | 4 +- drivers/acpi/acpica/hwsleep.c | 4 +- drivers/acpi/acpica/hwxfsleep.c | 2 - drivers/acpi/acpica/tbdata.c | 93 +++++++--- drivers/acpi/acpica/tbfadt.c | 6 +- drivers/acpi/acpica/tbinstal.c | 15 +- drivers/acpi/acpica/tbprint.c | 3 +- drivers/acpi/acpica/tbutils.c | 2 +- drivers/acpi/acpica/tbxfload.c | 52 ++++-- drivers/acpi/acpica/utdelete.c | 1 + drivers/acpi/battery.c | 46 ++--- drivers/acpi/bus.c | 5 +- drivers/acpi/cppc_acpi.c | 62 +++---- drivers/acpi/device_pm.c | 31 ++-- drivers/acpi/device_sysfs.c | 3 +- drivers/acpi/dock.c | 3 +- drivers/acpi/dptf/dptf_pch_fivr.c | 2 +- drivers/acpi/ec.c | 317 ++++++++++++++++++-------------- drivers/acpi/ec_sys.c | 2 +- drivers/acpi/internal.h | 12 +- drivers/acpi/numa/srat.c | 5 +- drivers/acpi/pci_link.c | 12 +- drivers/acpi/pci_root.c | 12 +- drivers/acpi/pmic/intel_pmic.c | 14 +- drivers/acpi/pmic/intel_pmic.h | 8 +- drivers/acpi/pmic/intel_pmic_bxtwc.c | 3 +- drivers/acpi/pmic/intel_pmic_bytcrc.c | 3 +- drivers/acpi/pmic/intel_pmic_chtcrc.c | 3 +- drivers/acpi/pmic/intel_pmic_chtdc_ti.c | 3 +- drivers/acpi/pmic/intel_pmic_chtwc.c | 3 +- drivers/acpi/pmic/intel_pmic_xpower.c | 24 ++- drivers/acpi/power.c | 19 +- drivers/acpi/processor_driver.c | 10 +- drivers/acpi/processor_idle.c | 11 +- drivers/acpi/processor_thermal.c | 13 +- drivers/acpi/property.c | 11 +- drivers/acpi/resource.c | 4 +- drivers/acpi/scan.c | 57 ++++-- drivers/acpi/sleep.c | 5 - drivers/acpi/sysfs.c | 3 +- drivers/acpi/tables.c | 6 +- drivers/acpi/thermal.c | 11 +- drivers/acpi/video_detect.c | 6 +- drivers/acpi/x86/s2idle.c | 4 +- drivers/acpi/x86/utils.c | 305 ++++++++++++++++++++++++++---- drivers/i2c/i2c-core-acpi.c | 7 + drivers/mmc/host/sdhci-acpi.c | 78 +------- drivers/tty/serdev/core.c | 14 ++ include/acpi/acpi_bus.h | 27 ++- include/acpi/acpi_numa.h | 1 - include/acpi/acpixf.h | 8 +- include/acpi/actbl2.h | 116 ++++++++---- include/acpi/actypes.h | 23 ++- include/acpi/processor.h | 7 +- include/linux/acpi.h | 6 + 72 files changed, 1210 insertions(+), 590 deletions(-)