On Thu, 9 Nov 2017, Felipe Balbi wrote: > > Hi, > > Hinko Kocevar <hinkocevar@xxxxxxxxx> writes: > >> The way dummy was written, it can only instantiate one gadget. You > >> either need a real USB peripheral controller, or you need to patch dummy > >> to instantiate more than one gadget. > >> > >> -- > >> balbi > > > > By dummy - are you referring to g_zero of dummy_hcd? > > Okay, we need a little more explanation. In order to have a gadget > driver like g_zero loaded, you need a USB peripheral controller (in your > case, that's handled by dummy). > > Now, when you want that g_zero to be useful, you need to plug it to a > USB host controller (in your case, that's also handled by dummy). > > What I'm saying, though, is that this dummy (dummy_hcd.c) can only > handle ONE gadget (a fake USB peripheral controller) at a time. It does > NOT instantiate more than one of those. In fact, this isn't correct. See the "num" module parameter in dummy_hcd.c (added by commit c7a1db457bfc "usb: gadget: dummy_hcd: add setup / cleanup of multiple HW intances"). Alan Stern > Because of that, there's no way > to get g_zero to probe for a second time. > > In fact, even if you were to patch dummy_hcd.c to instantiate N gadgets, > you wouldn't be able to use g_zero.ko, and would be required to rely on > our configfs interface for dynamically generating and binding different > gadget drivers to each of your gadget instances, but that's another > story altogether. -- 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