1. NAME▲
struct_usb_composite_dev - represents one composite usb gadget
2. SYNOPSIS ▲
struct
usb_composite_dev {
struct
usb_gadget *
gadget;
struct
usb_request *
req;
struct
usb_configuration *
config;
}
;
3. MEMBERS ▲
gadget
read-only, abstracts the gadgetAqs usb peripheral controller
req
used for control responses; buffer is pre-allocated
config
the currently active configuration
4. DESCRIPTION ▲
One of these devices is allocated and initialized before the associated device driverAqs bind is called.
5. OPEN ISSUE ▲
it appears that some WUSB devices will need to be built by combining a normal (wired) gadget with a wireless one. This revision of the gadget framework should probably try to make sure doing that wonAqt hurt too much.
6. ONE NOTION FOR HOW TO HANDLE WIRELESS USB DEVICES INVOLVES ▲
(a) a second gadget here, discovery mechanism TBD, but likely needing separate « register/unregister WUSB gadget » calls; (b) updates to usb_gadget to include flags « is it wireless », « is it wired », plus (presumably in a wrapper structure) bandgroup and PHY info; (c) presumably a wireless_ep wrapping a usb_ep, and reporting wireless-specific parameters like maxburst and maxsequence; (d) configurations that are specific to wireless links; (e) function drivers that understand wireless configs and will support wireless for (additional) function instances; (f) a function to support association setup (like CBAF), not necessarily requiring a wireless adapter; (g) composite device setup that can create one or more wireless configs, including appropriate association setup support; (h) more, TBD.
7. AUTHOR ▲
David Brownell <>
Author.
8. COPYRIGHT ▲