Hi Michael, On Friday 03 May 2013 00:34:40 Michael Grzeschik wrote: > On Fri, May 03, 2013 at 12:18:21AM +0200, Laurent Pinchart wrote: > > 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. I'm open to suggestions :-) What features of the userspace application do you think could (and should) be moved to kernelspace ? Many of them are highly application-specific. -- Regards, Laurent Pinchart -- 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