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

From: Michal Nazarewicz
Date: Tue Aug 23 2011 - 11:07:25 EST


On Tue, 23 Aug 2011 16:58:01 +0200, Felipe Balbi <balbi@xxxxxx> wrote:
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.

If you look at config_buf() in composite.c, you'll notice that composite
just skips functions that do not support current speed. This means, that
if a connection uses high speed but given function can handle only full
speed, it won't be included in the descriptors.

config_buf() is called from config_desc() which similarly, iterates over
configurations skipping the ones that do not support given speed.

Configuration is defined to support given speed if at least one function
that is added to that configuration supports that speed (see
usb_add_function()).

This also allows creating functions that support high speed but do not
support full speed (which I'm unsure whether it makes sense).

--
Best regards, _ _
.o. | Liege of Serenely Enlightened Majesty of o' \,=./ `o
..o | Computer Science, Michal "mina86" Nazarewicz (o o)
ooo +-----<email/xmpp: mnazarewicz@xxxxxxxxxx>-----ooO--(_)--Ooo--
--
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/