[PATCH v1 0/6] powercap: intel_rapl: Move primitives to interface drivers
From: Kuppuswamy Sathyanarayanan
Date: Fri Mar 13 2026 - 14:54:19 EST
RAPL supports multiple interfaces (MSR, MMIO, and TPMI), each with their
own register layouts and bitmask definitions. Currently, the primitive
tables and bitmasks for all three interfaces live in the common driver,
which requires interface-specific handling logic in shared code and makes
the common layer unnecessarily complex.
This series cleans this up by moving each interface's primitive
definitions into its own driver, so the common driver no longer needs to
know anything about per-interface register layouts.
All patches are no-functional-change refactoring.
This series is based on top of the earlier RAPL cleanup series:
https://lore.kernel.org/linux-pm/20260212233044.329790-1-sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx/T/#t
Patch Summary:
Patch 1/6: Remove unused AVERAGE_POWER primitive and RAPL_PRIMITIVE_DERIVED
flag from the common driver.
Patch 2/6: Remove other unused macro definitions from the common driver.
Patch 3/6: Move struct rapl_primitive_info, enum unit_type, and
PRIMITIVE_INFO_INIT macro to intel_rapl.h to allow interface
drivers to define their own primitive tables.
Patch 4/6: Move TPMI primitive definitions and associated bitmasks into
the TPMI interface driver.
Patch 5/6: Move MMIO primitive definitions and associated bitmasks into
the MMIO interface driver.
Patch 6/6: Move MSR primitive definitions and associated bitmasks into
the MSR interface driver.
Kuppuswamy Sathyanarayanan (6):
powercap: intel_rapl: Remove unused AVERAGE_POWER primitive
powercap: intel_rapl: Remove unused macro definitions
powercap: intel_rapl: Move primitive info to header for interface
drivers
powercap: intel_rapl: Move TPMI primitives to TPMI driver
thermal: intel: int340x: processor: Move MMIO primitives to MMIO
driver
powercap: intel_rapl: Move MSR primitives to MSR driver
drivers/powercap/intel_rapl_common.c | 206 ------------------
drivers/powercap/intel_rapl_msr.c | 99 +++++++++
drivers/powercap/intel_rapl_tpmi.c | 53 +++++
.../int340x_thermal/processor_thermal_rapl.c | 72 ++++++
include/linux/intel_rapl.h | 33 ++-
5 files changed, 254 insertions(+), 209 deletions(-)
--
2.43.0