This series updates intel_vsec to improve const-correctness, decouple helper APIs from PCI, enhance error handling, and plumb ACPI-based Intel Platform Monitoring Technology (PMT) discovery through the vsec layer. It is preparatory infrastructure for follow-on PMT core/telemetry and PMC/SSRAM series that add ACPI discovery and support for new platforms.
The series is organized as follows: Patches 1-2 refactor and improve const-correctness of base_addr handling. Patch 1 makes base_addr an explicit parameter throughout the call chain, clarifying ownership and removing conditional logic. Patch 2 then makes the platform info data structure read-only, preventing unintended modifications to shared driver data. Patches 3-4 decouple the vsec layer from PCI-specific types, updating helper APIs and data structures to use generic struct device instead of struct pci_dev. This enables vsec to work with both PCI and ACPI parent devices. Patch 5 enhances error visibility by returning meaningful error codes from the registration path instead of collapsing to boolean success/failure. Patch 6 adds infrastructure for ACPI-based PMT discovery, allowing client drivers to consume discovery data from either PCI or ACPI sources. Signed-off-by: David E. Box <[email protected]> David E. Box (6): platform/x86/intel/vsec: Refactor base_addr handling platform/x86/intel/vsec: Make driver_data info const platform/x86/intel/vsec: Decouple add/link helpers from PCI platform/x86/intel/vsec: Switch exported helpers from pci_dev to device platform/x86/intel/vsec: Return real error codes from registration path platform/x86/intel/vsec: Plumb ACPI PMT discovery tables through vsec drivers/gpu/drm/xe/xe_debugfs.c | 2 +- drivers/gpu/drm/xe/xe_hwmon.c | 2 +- drivers/gpu/drm/xe/xe_vsec.c | 7 +- drivers/gpu/drm/xe/xe_vsec.h | 4 +- drivers/platform/x86/intel/pmc/core.c | 4 +- drivers/platform/x86/intel/pmc/ssram_telemetry.c | 2 +- drivers/platform/x86/intel/pmt/class.c | 8 +- drivers/platform/x86/intel/pmt/class.h | 5 +- drivers/platform/x86/intel/pmt/discovery.c | 4 +- drivers/platform/x86/intel/pmt/telemetry.c | 13 +-- drivers/platform/x86/intel/pmt/telemetry.h | 12 +-- drivers/platform/x86/intel/sdsi.c | 5 +- drivers/platform/x86/intel/vsec.c | 121 ++++++++++++++--------- drivers/platform/x86/intel/vsec_tpmi.c | 10 +- include/linux/intel_vsec.h | 39 ++++++-- 15 files changed, 144 insertions(+), 94 deletions(-) --- base-commit: 6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f --
