Re: [PATCHv3 2/4] usb: gadget: replace "is_dualspeed" with "max_speed"

From: Alan Stern
Date: Tue Aug 23 2011 - 14:00:34 EST


On Tue, 23 Aug 2011, Felipe Balbi wrote:

> Hi,
>
> On Tue, Aug 23, 2011 at 11:43:44AM -0400, Alan Stern wrote:
> > > if they are both part of the of the same configuration, full speed.
> > > Otherwise Audio won't work. If they are part of different
> > > configurations, then maximum_speed will be defined by the chosen config,
> > > no ?
> >
> > No. The speed has to be chosen first, when the gadget connects to the
> > host. The config isn't chosen until later, after the host retrieves
> > the various descriptors and decides among them.
>
> true
>
> > > I stand with the fact that if they are part of the same configuration,
> > > there's no way around it, storage will have to come down to full speed.
> > > Unless I'm missing something.
> >
> > What if they are in different configurations?
>
> then you use the fastest speed between both configurations?

I simply don't know. It's a difficult problem.

For the time being, perhaps the best answer is to use the _lowest_
max_speed value among all the function drivers. It's the simplest
answer and most likely to be correct most of the time.

If anybody ever does want to put together a composite gadget that runs
faster than full speed but still provides a midi function ... well,
they'll just have to update the midi gadget driver.

(Actually that's a bogus example. It turns out that gmidi.c doesn't
support the composite framework. Oh well.)

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/