mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-16 09:02:21 -04:00
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:
committed by
Ilpo Järvinen
parent
353042d54d
commit
a6ce8bf3c9
@@ -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");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user