Most of the devices in the intel_pmt driver are PMT only devices. However, the Out of Band Management Services Module (OOBMSM) can also be used access non-PMT devices. In order to better support this without the confusion of a dependency on MFD_INTEL_PMT, this patch set rewrites the intel_pmt driver to split the functionality into 3 components: 1. intel_pmt - driver for PMT only devices 2. intel-oobmsm - driver for devices using the OOBMSM IP which can support multiple types of capabilities, including PMT 3. intel-extended-cap - symbols to handle adding platform device for both drivers Additionally, this patch set provides additional DVSEC macros in the PCI header as well as support for reading capabilities from a VSEC structure. Patch 1 - Adds PCI defines for DVSEC registers Patch 2 - Removes OOBMSM from intel_pmt and creates intel-extended-cap.c support the creation of platform devices for capabilities from both intel_pmt and intel-oobmsm (Patch 3) Patch 2 - Creates a separate driver for OOBMSM Patch 3 - Adds support for reading capabilities from PCIe VSEC structures For submission through MFD branch. David E. Box (4): PCI: Add #defines for accessing PCIE DVSEC fields MFD: intel_pmt: Remove OOBMSM device for placement in own driver MFD: Add the Intel Out of Band Management Services Module (OOBMSM) driver MFD: intel-extended-cap: Add support for PCIe VSEC structures MAINTAINERS | 2 + drivers/mfd/Kconfig | 15 ++ drivers/mfd/Makefile | 2 + drivers/mfd/intel_extended_caps.c | 267 +++++++++++++++++++++ drivers/mfd/intel_extended_caps.h | 40 +++ drivers/mfd/intel_oobmsm.c | 61 +++++ drivers/mfd/intel_pmt.c | 198 ++------------- drivers/platform/x86/Kconfig | 4 +- drivers/platform/x86/intel_pmt_crashlog.c | 2 +- drivers/platform/x86/intel_pmt_telemetry.c | 2 +- include/uapi/linux/pci_regs.h | 4 + 11 files changed, 409 insertions(+), 188 deletions(-) create mode 100644 drivers/mfd/intel_extended_caps.c create mode 100644 drivers/mfd/intel_extended_caps.h create mode 100644 drivers/mfd/intel_oobmsm.c -- 2.25.1