On Wed, 15 Dec 2021, David E. Box wrote: > Intel Platform Monitoring Technology (PMT) support is indicated by presence > of an Intel defined PCIe Designated Vendor Specific Extended Capabilities > (DVSEC) structure with a PMT specific ID. The current MFD implementation > creates child devices for each PMT feature, currently telemetry, watcher, > and crashlog. However DVSEC structures may also be used by Intel to > indicate support for other features. The Out Of Band Management Services > Module (OOBMSM) uses DVSEC to enumerate several features, including PMT. > In order to support them it is necessary to modify the intel_pmt driver to > handle the creation of the child devices more generically. To that end, > modify the driver to create child devices for any VSEC/DVSEC features on > supported devices (indicated by PCI ID). Additionally, move the > implementation from MFD to the Auxiliary bus. VSEC/DVSEC features are > really multifunctional PCI devices, not platform devices as MFD was > designed for. Auxiliary bus gives more flexibility by allowing the > definition of custom structures that can be shared between associated > auxiliary devices and the parent device. Also, rename the driver from > intel_pmt to intel_vsec to better reflect the purpose. > > This series also removes the current runtime pm support which was not > complete to begin with. None of the current devices require runtime pm. > However the support will be replaced when a device is added that requires > it. > > Signed-off-by: David E. Box <david.e.box@xxxxxxxxxxxxxxx> > Reviewed-by: Mark Gross <markgross@xxxxxxxxxx> > --- > V4 > - Add intel_vsec_extract_vsec() to combine common code and simplify > the extended capability loops. Suggested by Andy. > V3 > - Add comment clarifying how driver cleanup is handled without remove(). > > V2 > - Clarify status of missing pm support in commit message. > - Clarify why auxiliary bus is preferred in commit message. > > MAINTAINERS | 12 +- > drivers/mfd/Kconfig | 10 - > drivers/mfd/Makefile | 1 - > drivers/mfd/intel_pmt.c | 261 ------------- Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> > drivers/platform/x86/intel/Kconfig | 11 + > drivers/platform/x86/intel/Makefile | 2 + > drivers/platform/x86/intel/pmt/Kconfig | 4 +- > drivers/platform/x86/intel/pmt/class.c | 21 +- > drivers/platform/x86/intel/pmt/class.h | 5 +- > drivers/platform/x86/intel/pmt/crashlog.c | 47 +-- > drivers/platform/x86/intel/pmt/telemetry.c | 46 +-- > drivers/platform/x86/intel/vsec.c | 405 +++++++++++++++++++++ > drivers/platform/x86/intel/vsec.h | 43 +++ > 13 files changed, 533 insertions(+), 335 deletions(-) > delete mode 100644 drivers/mfd/intel_pmt.c > create mode 100644 drivers/platform/x86/intel/vsec.c > create mode 100644 drivers/platform/x86/intel/vsec.h -- Lee Jones [李琼斯] Senior Technical Lead - Developer Services Linaro.org │ Open source software for Arm SoCs Follow Linaro: Facebook | Twitter | Blog