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.         June 2019           STRUCT USB_COMPOSITE(9)
Impressum