• David E. Box's avatar
    platform/x86/intel: Move intel_pmt from MFD to Auxiliary Bus · a3c8f906
    David E. Box authored
    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.
    Reviewed-by: default avatarMark Gross <markgross@kernel.org>
    Acked-by: default avatarHans de Goede <hdegoede@redhat.com>
    Signed-off-by: default avatarDavid E. Box <david.e.box@linux.intel.com>
    Link: https://lore.kernel.org/r/20211208015015.891275-4-david.e.box@linux.intel.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    a3c8f906
vsec.c 9.97 KB