Hi Linus, Please pull from the tag git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \ pm-6.16-rc2 with top-most commit dd3581853c5f190c3a7bd1de78f5ecb2905a77a7 Merge branch 'pm-cpuidle' on top of commit 19272b37aa4f83ca52bdf9c16d5d81bdd1354494 Linux 6.16-rc1 to receive power management updates for 6.16-rc2. These fix the cpupower utility installation, fix up the recently added Rust abstractions for cpufreq and OPP, restore the x86 update eliminating mwait_play_dead_cpuid_hint() that has been reverted during the 6.16 merge window along with preventing the failure caused by it from happening, and clean up mwait_idle_with_hints() usage in intel_idle: - Implement CpuId Rust abstraction and use it to fix doctest failure related to the recently introduced cpumask abstraction (Viresh Kumar). - Do minor cleanups in the `# Safety` sections for cpufreq abstractions added recently (Viresh Kumar). - Unbreak cpupower systemd service units installation on some systems by adding a unitdir variable for specifying the location to install them (Francesco Poli). - Eliminate mwait_play_dead_cpuid_hint() again after reverting its elimination during the 6.16 merge window due to a problem with handling "dead" SMT siblings, but this time prevent leaving them in C1 after initialization by taking them online and back offline when a proper cpuidle driver for the platform has been registered (Rafael Wysocki). - Update data types of variables passed as arguments to mwait_idle_with_hints() to match the function definition after recent changes (Uros Bizjak). Thanks! --------------- Francesco Poli (wintermute) (1): cpupower: split unitdir from libdir in Makefile Rafael J. Wysocki (5): intel_idle: Use subsys_initcall_sync() for initialization x86/smp: PM/hibernate: Split arch_resume_nosmt() intel_idle: Rescan "dead" SMT siblings during initialization ACPI: processor: Rescan "dead" SMT siblings during initialization Reapply "x86/smp: Eliminate mwait_play_dead_cpuid_hint()" Uros Bizjak (1): intel_idle: Update arguments of mwait_idle_with_hints() Viresh Kumar (4): cpufreq: Convert `/// SAFETY` lines to `# Safety` sections rust: cpu: Introduce CpuId abstraction rust: Use CpuId in place of raw CPU numbers rust: cpu: Add CpuId::current() to retrieve current CPU ID --------------- MAINTAINERS | 1 + arch/x86/kernel/smp.c | 24 ++++++ arch/x86/kernel/smpboot.c | 54 ++----------- arch/x86/power/hibernate.c | 19 ++--- drivers/acpi/internal.h | 6 ++ drivers/acpi/processor_driver.c | 3 + drivers/acpi/processor_idle.c | 8 ++ drivers/cpufreq/rcpufreq_dt.rs | 4 +- drivers/idle/intel_idle.c | 12 +-- include/linux/cpu.h | 3 + rust/helpers/cpu.c | 8 ++ rust/helpers/helpers.c | 1 + rust/kernel/cpu.rs | 125 ++++++++++++++++++++++++++++- rust/kernel/cpufreq.rs | 173 +++++++++++++++++++++++++++++----------- rust/kernel/cpumask.rs | 51 ++++++++---- tools/power/cpupower/Makefile | 9 ++- 16 files changed, 368 insertions(+), 133 deletions(-)