On Fri, Apr 13, 2012 at 06:51:26PM +0800, Bhupesh SHARMA wrote: > Hi, > > I have a query regarding enabling multiple gadgets (like g_webcam, g_zero etc..) > on top of the Composite driver. > > My use case is very simple: > - I want to expose a USB composite device to a standard USB host, where > the Composite device supports a webcam gadget + zero gadget + some other gadget.. look at how nokia.c does it. > On the older kernels like 2.6.27, this was easily possible, but the latest > gadget code doesn't seem to support the same: > - I can see that first a 'choicemenu' is provided which allows selection of only > one gadget at a time. Answer M instead of Y to "USB Gadget Drivers" > - The "common" stuff like "composite.c", "epautoconfig.c" have been included in > each f_* function driver (for e.g. f_uvc.c, f_sourcesink.c, etc..), so even if > I somehow tweak the 'choicemenu' stuff, I get redeclaration errors. yeah, that still needs to be cleaned up. The story behind that is very long. > What is the best way to enable multiple gadgets (like g_webcam, g_zero > etc..) on top of the Composite driver or am I missing something here? Either you want multiple gadgets or you want a composite gadget, what is it ? If you want a composite gadget, you need to write a small C file which combines multiple functions together (see nokia.c), if you want multiple gadget drivers, just make them all modules. I always compile all gadget drivers as modules and can use any one of them at any time. -- balbi
Attachment:
signature.asc
Description: Digital signature