Hi Sakari, On Mi, 2023-05-24 at 14:23 +0300, Sakari Ailus wrote: > Hi all, > > This set adds support for multiple downstream links in an async > sub-device, by separating the sub-device registration from the link > creation. > > A new concept, V4L2 async connection is added. A connection later on > translates to an MC ancillary or data link. Generally async notifiers have > a number of connections but at that level there is no knowledge of how > many sub-devices they will connect to. The bound and unbound callbacks now > work on connections. For the existing drivers there's only one connection > so I do not expect regressions because of that. > > Async sub-device fwnode matching will now take place between the device > (the dev field of struct v4l2_subdev) and a struct v4l2_async_connection > (an endpoint for devices that have endpoints or the device for those that > do not). This is because the graph data structure only describes > point-to-point connections so therefore defining one end of the connection > defines the entire connection. > > This set is unlikely to address all needs people have related to the async > framework but I think that beyond what it does, it paves some way for > addressing more of those additional needs. > > To be frank, I'd like to get rid of the entire V4L2 async framework, but > it would require allowing much more dynamic driver initialisation, > including sub-devices and device nodes popping up in the system in the > order and extent there is successfully probed hardware. Until that, and > this may well be the entire foreseeable future, we have at least some of > this complexity. > > I didn't add the Tested-by: tags I got for v2 as there are significant > changes, albeit only for better I hope. :-) Niklas has also tested this on > rcar-vin + adv746x, it works now while on v2 it did not. So having also > this version validated on i.MX6 would be nice. Still works on i.MX6QP with TC358743. Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> # imx6qp regards Philipp