platform/x86:intel/vsec: Change return type of intel_vsec_register
authorXi Pardee <xi.pardee@linux.intel.com>
Fri, 25 Apr 2025 19:52:29 +0000 (12:52 -0700)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Thu, 8 May 2025 13:03:37 +0000 (16:03 +0300)
Change return type of intel_vsec_register() to int. The current
implementation does not indicate if the register fail or not.
Change to return error code if it fails or if INTEL_VSEC config
is not set. This is a preparation step to introduce a new SSRAM
Telemetry driver that will be using this API.

Signed-off-by: Xi Pardee <xi.pardee@linux.intel.com>
Link: https://lore.kernel.org/r/20250425195237.493129-2-xi.pardee@linux.intel.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
drivers/platform/x86/intel/vsec.c
include/linux/intel_vsec.h

index db3c031d17572be6c57d5ee9ad76d662b4c73ac0..055ca9f48fb49c01348388dd01fd04726454759e 100644 (file)
@@ -332,13 +332,16 @@ static bool intel_vsec_walk_vsec(struct pci_dev *pdev,
        return have_devices;
 }
 
-void intel_vsec_register(struct pci_dev *pdev,
+int intel_vsec_register(struct pci_dev *pdev,
                         struct intel_vsec_platform_info *info)
 {
        if (!pdev || !info || !info->headers)
-               return;
+               return -EINVAL;
 
-       intel_vsec_walk_header(pdev, info);
+       if (!intel_vsec_walk_header(pdev, info))
+               return -ENODEV;
+       else
+               return 0;
 }
 EXPORT_SYMBOL_NS_GPL(intel_vsec_register, "INTEL_VSEC");
 
index b94beab64610b91fd275b3b4b4946001d049cec8..bc95821f1bfb2abfb60bf253d721dd157cde8792 100644 (file)
@@ -139,12 +139,13 @@ static inline struct intel_vsec_device *auxdev_to_ivdev(struct auxiliary_device
 }
 
 #if IS_ENABLED(CONFIG_INTEL_VSEC)
-void intel_vsec_register(struct pci_dev *pdev,
+int intel_vsec_register(struct pci_dev *pdev,
                         struct intel_vsec_platform_info *info);
 #else
-static inline void intel_vsec_register(struct pci_dev *pdev,
+static inline int intel_vsec_register(struct pci_dev *pdev,
                                       struct intel_vsec_platform_info *info)
 {
+       return -ENODEV;
 }
 #endif
 #endif