On Fri, 30 Dec 2016, Laurent Pinchart wrote: > Hi Guennadi, > > On Friday 30 Dec 2016 11:43:02 Guennadi Liakhovetski wrote: > > Hi Laurent, > > > > I'd like to discuss extending this patch a bit, preferably as an > > incremental patch. > > > > First let me confirm my current understanding of the way the UVC driver > > creates its media device topology. Do I understand it correctly, that the > > driver allocates UVC entities (not media controller entities) for all UVC > > units and terminals, but then uses subdevices for all such UVC entities, > > except terminals, i.e. only for UVC units? struct uvc_entity has an > > embedded struct v4l2_subdev object, but it's unused for UVC terminals. > > Instead terminals are associated to video devices, which are then linked > > into the MC topology? Is this my understanding correct? > > That's correct, but looking at the code now, I think the driver should use a > struct media_entity directly instead of a struct v4l2_subdev as it doesn't > need any of the infrastructure provided by subdevs. > > > I have a problem with the current version of this patch, that there is no > > way to associate video device nodes with respepctive metadata nodes. Would > > it be acceptable to use an MC link for this association? > > No, links describe data connections. Well, it is data - it's metadata, extracted from USB buffers. > > Is it allowed for video device MC entities to have source pads additionally > > to their (usually single) sink pad(s) (in case of input video devices)? If > > that would be acceptable, I could create an additional patch to add a source > > pad to output terminal video nodes to link it to metadata nodes. > > That's a hack, I don't think it's a good idea. Ok, would a completely specialised one-off sysfs solution be better? Maybe a link under the metadata node to the main node? Thanks Guennadi -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html