1STRUCT USB_COMPOSITE(9)     Kernel Mode Gadget API     STRUCT USB_COMPOSITE(9)
2
3
4

NAME

6       struct_usb_composite_dev - represents one composite usb gadget
7

SYNOPSIS

9       struct usb_composite_dev {
10         struct usb_gadget * gadget;
11         struct usb_request * req;
12         unsigned bufsiz;
13         struct usb_configuration * config;
14       };
15

MEMBERS

17       gadget
18           read-only, abstracts the gadget's usb peripheral controller
19
20       req
21           used for control responses; buffer is pre-allocated
22
23       bufsiz
24           size of buffer pre-allocated in req
25
26       config
27           the currently active configuration
28

DESCRIPTION

30       One of these devices is allocated and initialized before the associated
31       device driver's bind is called.
32

OPEN ISSUE

34       it appears that some WUSB devices will need to be built by combining a
35       normal (wired) gadget with a wireless one. This revision of the gadget
36       framework should probably try to make sure doing that won't hurt too
37       much.
38

ONE NOTION FOR HOW TO HANDLE WIRELESS USB DEVICES INVOLVES

40       (a) a second gadget here, discovery mechanism TBD, but likely needing
41       separate “register/unregister WUSB gadget” calls; (b) updates to
42       usb_gadget to include flags “is it wireless”, “is it wired”, plus
43       (presumably in a wrapper structure) bandgroup and PHY info; (c)
44       presumably a wireless_ep wrapping a usb_ep, and reporting
45       wireless-specific parameters like maxburst and maxsequence; (d)
46       configurations that are specific to wireless links; (e) function
47       drivers that understand wireless configs and will support wireless for
48       (additional) function instances; (f) a function to support association
49       setup (like CBAF), not necessarily requiring a wireless adapter; (g)
50       composite device setup that can create one or more wireless configs,
51       including appropriate association setup support; (h) more, TBD.
52

AUTHOR

54       David Brownell <dbrownell@users.sourceforge.net>
55           Author.
56
58Kernel Hackers Manual 2.6.       November 2011         STRUCT USB_COMPOSITE(9)
Impressum