[PATCH] usb: add Freescale QE/CPM USB peripheral controller driver

Alan Stern stern at rowland.harvard.edu
Sat Aug 30 02:05:02 EST 2008


On Fri, 29 Aug 2008, Arnd Bergmann wrote:

> > > Does building a kernel image that can run on different hardware without 
> > > rebuilding also violate the "relevant standards"?
> > 
> > No.  That isn't what Arnd was concerned about.  He noted that even if 
> > you did build multiple modules, only one of them could be loaded at any 
> > time.
> 
> Well, actually it was exactly what I was concerned about ;-)
> 
> The way I understand the code, it is layered into the hardware specific
> part and the protocol specific part, which are connected through
> the interfaces I pointed out.

That's right.

> The standard requires that there can only be one protocol handler
> per physical interface, which is a reasonable limitation.

No, you've got it exactly backward.  There can be multiple protocol 
handlers per physical interface, but there must be only one physical 
interface per device.

> However, what the Linux implementation actually enforces is
> that there can only be one hardware specific driver built or loaded
> into the kernel, which just looks like an arbitrary restriction
> that does not actually help.

Not at all -- it is an implementation of the constraint that there be 
only one physical interface.

> If the gadget hardware drivers were registering the device with a
> gadget_bus_type, you could still enforce the "only one protocol"
> rule by binding every protocol to every device in that bus type.

There is no such rule.

Alan Stern




More information about the Linuxppc-dev mailing list