mirror of
https://github.com/torvalds/linux
synced 2024-10-08 12:22:38 +00:00
v4l: fwnode: Remove now-redundant loop from v4l2_fwnode_parse_reference()
v4l2_fwnode_parse_reference() relied on counting the number of references for async array memory allocation. The array is long gone so remove counting the references now. This also changes how the function arrives in different unsuccessful return values but the functionality remains unchanged. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
parent
cb2a3293ca
commit
5f1501fd47
|
@ -894,21 +894,8 @@ static int v4l2_fwnode_reference_parse(struct device *dev,
|
|||
int ret;
|
||||
|
||||
for (index = 0;
|
||||
!(ret = fwnode_property_get_reference_args(dev_fwnode(dev),
|
||||
prop, NULL, 0,
|
||||
index, &args));
|
||||
index++)
|
||||
fwnode_handle_put(args.fwnode);
|
||||
|
||||
if (!index)
|
||||
return -ENOENT;
|
||||
|
||||
if (ret != -ENOENT)
|
||||
return ret;
|
||||
|
||||
for (index = 0;
|
||||
!fwnode_property_get_reference_args(dev_fwnode(dev), prop, NULL,
|
||||
0, index, &args);
|
||||
!(ret = fwnode_property_get_reference_args(dev_fwnode(dev), prop,
|
||||
NULL, 0, index, &args));
|
||||
index++) {
|
||||
struct v4l2_async_subdev *asd;
|
||||
|
||||
|
@ -924,7 +911,12 @@ static int v4l2_fwnode_reference_parse(struct device *dev,
|
|||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
/* -ENOENT here means successful parsing */
|
||||
if (ret != -ENOENT)
|
||||
return ret;
|
||||
|
||||
/* Return -ENOENT if no references were found */
|
||||
return index ? 0 : -ENOENT;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue