On Thu, 28 Aug 2008, Arnd Bergmann wrote:
Not addressing this driver in particular, but the USB gadget layer in
general: This is a horrible interface, since every gadget driver exports
the same symbols, you can never build a kernel that includes more than
one gadget driver. Even if the drivers are all built as modules, simply
loading one of them prevents loading another one.
This was done deliberately. The relevant standards state that a USB
device can have no more than one peripheral interface.
Now, I don't claim to fully support this decision. But there is a
reason behind it; it's not just a case of bad design.
Alan Stern