Messages in this thread | | | Date | Fri, 13 Apr 2012 13:59:23 +0300 | From | Felipe Balbi <> | Subject | Re: Enabling multiple gadgets on top of composite driver |
| |
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 [unhandled content-type:application/pgp-signature] | |