On Tue, Oct 05, 2021 at 02:53:48AM +0300, Laurent Pinchart wrote: > Hi Michael, > > Thank you for resending this. > > On Sun, Oct 03, 2021 at 10:13:55PM +0200, Michael Grzeschik wrote: > > From: Thomas Haemmerle <thomas.haemmerle@xxxxxxxxxxxxxx> > > > > Currently, the UVC function is activated when open on the corresponding > > v4l2 device is called. > > On another open the activation of the function fails since the > > deactivation counter in `usb_function_activate` equals 0. However the > > error is not returned to userspace since the open of the v4l2 device is > > successful. > > > > On a close the function is deactivated (since deactivation counter still > > equals 0) and the video is disabled in `uvc_v4l2_release`, although the > > UVC application potentially is streaming. > > > > Move activation of UVC function to subscription on UVC_EVENT_SETUP > > because there we can guarantee for a userspace application utilizing > > UVC. > > Block subscription on UVC_EVENT_SETUP while another application already > > is subscribed to it, indicated by `bool func_connected` in > > `struct uvc_device`. > > Extend the `struct uvc_file_handle` with member `bool is_uvc_app_handle` > > to tag it as the handle used by the userspace UVC application. > > Reflowing the paragraph would be nice (this could be done when applying > the patch, or not at all). > > > With this a process is able to check capabilities of the v4l2 device > > without deactivating the function for the actual UVC application. > > > > Reviewed-By: Michael Tretter <m.tretter@xxxxxxxxxxxxxx> > > Signed-off-by: Thomas Haemmerle <thomas.haemmerle@xxxxxxxxxxxxxx> > > Signed-off-by: Michael Tretter <m.tretter@xxxxxxxxxxxxxx> > > Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> > > Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > > Felipe, please let me know if you want me to take this in my tree and > issue a pull request, otherwise I'll assume you'll pick it up. I'll pick it up now, thanks. greg k-h