summaryrefslogtreecommitdiff
path: root/drivers/platform/x86/intel/vsec.h
diff options
context:
space:
mode:
authorGayatri Kammela <gayatri.kammela@linux.intel.com>2023-11-29 14:21:19 -0800
committerHans de Goede <hdegoede@redhat.com>2023-12-04 14:53:30 +0100
commit4edbd117ba3f7beacfb439aad60e8a5de77114b4 (patch)
treec1da59e6ffbfffa5f2ce8c41380edae49edd0ea9 /drivers/platform/x86/intel/vsec.h
parent6dfc2514acee37e30ce59f1f25b1f8f6aa7c1b08 (diff)
downloadlinux-4edbd117ba3f7beacfb439aad60e8a5de77114b4.tar.gz
linux-4edbd117ba3f7beacfb439aad60e8a5de77114b4.tar.bz2
linux-4edbd117ba3f7beacfb439aad60e8a5de77114b4.zip
platform/x86/intel/vsec: Add intel_vsec_register
Add and export intel_vsec_register() to allow the registration of Intel extended capabilities from other drivers. Add check to look for memory conflicts before registering a new capability. Since the vsec provider may not be a PCI device, add a parent field to intel_vsec_platform_info() to allow specifying the parent device for device managed cleanup. Signed-off-by: Gayatri Kammela <gayatri.kammela@linux.intel.com> Signed-off-by: David E. Box <david.e.box@linux.intel.com> Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Link: https://lore.kernel.org/r/20231129222132.2331261-8-david.e.box@linux.intel.com Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Diffstat (limited to 'drivers/platform/x86/intel/vsec.h')
-rw-r--r--drivers/platform/x86/intel/vsec.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/platform/x86/intel/vsec.h b/drivers/platform/x86/intel/vsec.h
index 8b9fad170503..bb8b6452df70 100644
--- a/drivers/platform/x86/intel/vsec.h
+++ b/drivers/platform/x86/intel/vsec.h
@@ -69,6 +69,7 @@ enum intel_vsec_quirks {
/* Platform specific data */
struct intel_vsec_platform_info {
+ struct device *parent;
struct intel_vsec_header **headers;
unsigned long caps;
unsigned long quirks;
@@ -99,4 +100,7 @@ static inline struct intel_vsec_device *auxdev_to_ivdev(struct auxiliary_device
{
return container_of(auxdev, struct intel_vsec_device, auxdev);
}
+
+void intel_vsec_register(struct pci_dev *pdev,
+ struct intel_vsec_platform_info *info);
#endif