On Fri, May 03, 2013 at 12:18:21AM +0200, Laurent Pinchart wrote: > Hi Vladimir, > > Thank you for the patch. > > On Friday 03 May 2013 01:13:48 Vladimir Zapolskiy wrote: > > This change removes redundant calls to uvc_function_connect() and > > uvc_function_disconnect() on V4L2 device node open and release. > > > > These two functions attemp to control pull-up on D+ line directly, however > > such an action should be performed by an UDC iteself, and within the gadget > > there is no information about current mode of the controller. > > > > The UDC may be in suspended state, or an OTG controller may be in host mode, > > therefore it seems better not to try to forcibly pull-up D+ line on open() > > syscall. > > OK, but we then need to fix the problem properly. The UVC gadget must not > appear connected until an application opens the corresponding device. > Likewise, it must disconnect from the bus when the application closes the > device. How can this be guaranteed properly ? I think a lot of the userspace Testapplication [¹] itself needs to be moved into the kernel. I.e. a lot of the function uvc_events_process needs to be handled in kernelspace. This way, the gadget would not even depent on an userspace application to be ready for. Thanks, Michael [¹] http://git.ideasonboard.org/uvc-gadget.git -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html