platform/x86/intel/vsec: Return real error codes from registration path

Stop collapsing registration results into booleans. Make
intel_vsec_walk_header() return int and propagate the first non-zero error
from intel_vsec_register_device(). intel_vsec_register() now returns that
error directly and 0 on success.

This preserves success behavior while surfacing meaningful errors instead
of hiding them behind a bool/-ENODEV, which makes debugging and probe
ordering issues clearer.

Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: David E. Box <david.e.box@linux.intel.com>
Link: https://patch.msgid.link/20260313015202.3660072-6-david.e.box@linux.intel.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
This commit is contained in:
David E. Box
2026-03-12 18:51:44 -07:00
committed by Ilpo Järvinen
parent 353042d54d
commit a6ce8bf3c9

View File

@@ -461,20 +461,19 @@ static int intel_vsec_register_device(struct device *dev,
return -EAGAIN;
}
static bool intel_vsec_walk_header(struct device *dev,
const struct intel_vsec_platform_info *info)
static int intel_vsec_walk_header(struct device *dev,
const struct intel_vsec_platform_info *info)
{
struct intel_vsec_header **header = info->headers;
bool have_devices = false;
int ret;
for ( ; *header; header++) {
ret = intel_vsec_register_device(dev, *header, info, info->base_addr);
if (!ret)
have_devices = true;
if (ret)
return ret;
}
return have_devices;
return 0;
}
static bool intel_vsec_walk_dvsec(struct pci_dev *pdev,
@@ -580,10 +579,7 @@ int intel_vsec_register(struct device *dev,
if (!dev || !info || !info->headers)
return -EINVAL;
if (!intel_vsec_walk_header(dev, info))
return -ENODEV;
else
return 0;
return intel_vsec_walk_header(dev, info);
}
EXPORT_SYMBOL_NS_GPL(intel_vsec_register, "INTEL_VSEC");