Hi Sakari, On Tuesday, 19 September 2017 15:43:26 EEST Sakari Ailus wrote: > On Tue, Sep 19, 2017 at 02:40:29PM +0300, Laurent Pinchart wrote: > > > @@ -2256,7 +2210,9 @@ static int isp_probe(struct platform_device *pdev) > > > > > > if (ret) > > > > > > return ret; > > > > > > - ret = isp_fwnodes_parse(&pdev->dev, &isp->notifier); > > > + ret = v4l2_async_notifier_parse_fwnode_endpoints( > > > + &pdev->dev, &isp->notifier, sizeof(struct isp_async_subdev), > > > + isp_fwnode_parse); > > > > > > if (ret < 0) > > > > The documentation in patch 05/25 states that v4l2_async_notifier_release() > > should be called even if v4l2_async_notifier_parse_fwnode_endpoints() > > fails. I don't think that's needed here, so you might want to update the > > documentation (and possibly the implementation of the function). > > It is. If parsing fails, async sub-devices may have been already set up. > This happens e.g. when the parsing fails after the first one has been > successfully set up already. But for v4l2_async_notifier_parse_fwnode_endpoints() we could clean up internally when an error occurs. Otherwise you need to call v4l2_async_notifier_release() here. -- Regards, Laurent Pinchart -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html