enum v4l2_mbus_type mbus_type;
int rval;
+ /*
+ * Return -EPROBE_DEFER if there's no endpoint -- in case the endpoint's
+ * origin is a software node, it may be that the endpoint has not been
+ * instantiated yet, but will be with probing of another driver. This is
+ * the case with the IPU bridge; once we have no such cases left, return
+ * another error such as -EINVAL.
+ */
if (!fwnode)
- return -EINVAL;
+ return -EPROBE_DEFER;
pr_debug("===== begin parsing endpoint %pfw\n", fwnode);
*
* Return: %0 on success or a negative error code on failure:
* %-ENOMEM on memory allocation failure
- * %-EINVAL on parsing failure, including @fwnode == NULL
+ * %-EINVAL on parsing failure
* %-ENXIO on mismatching bus types
+ * %-EPROBE_DEFER on NULL @fwnode
*/
int v4l2_fwnode_endpoint_parse(struct fwnode_handle *fwnode,
struct v4l2_fwnode_endpoint *vep);
*
* Return: %0 on success or a negative error code on failure:
* %-ENOMEM on memory allocation failure
- * %-EINVAL on parsing failure, including @fwnode == NULL
+ * %-EINVAL on parsing failure
* %-ENXIO on mismatching bus types
+ * %-EPROBE_DEFER on NULL @fwnode
*/
int v4l2_fwnode_endpoint_alloc_parse(struct fwnode_handle *fwnode,
struct v4l2_fwnode_endpoint *vep);