> > > > > 1) cannot have two gadget peripheral controllers as modules in a > given > > > > > > kernel > > > > > > > > > True. > > > > > > > > Is this behavior by design or accident? > > > > > Design. The USB specs only allow one upstream > > > port, meaning one USB peripheral controller in > > > any USB-certified device. > > > > > So why would we bother trying to support two, if > > > that's contrary to the standards we follow?? > > > > The USB spec allows one upstream facing port, but that does not necessarily > > mean one USB peripheral controller per device. There are many mobile devices > > on the marketing that have two physical controllers connected to the same > > upstream port through a USB switch. These devices are USB certified, so by > > definition of the certification this implementation is not contrary to the > > standards we follow. > > Also, as another example, you could have two physical USB peripheral > controllers on an SoC, with one of them meant for inter-chip > connections with a host on the same PCB, and the other meant to be > exposed to the outside world as the upstream facing port. This is another good example. It seems the loadable module controller model might not work as well here though. --------------------------------------------------------------- This message and any attachments may contain Cypress (or its subsidiaries) confidential information. If it has been received in error, please advise the sender and immediately delete this message. --------------------------------------------------------------- -- 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