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         struct usb_configuration * config;
13       };
14

MEMBERS

16       gadget
17           read-only, abstracts the gadget's usb peripheral controller
18
19       req
20           used for control responses; buffer is pre-allocated
21
22       config
23           the currently active configuration
24

DESCRIPTION

26       One of these devices is allocated and initialized before the associated
27       device driver's bind is called.
28

OPEN ISSUE

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

ONE NOTION FOR HOW TO HANDLE WIRELESS USB DEVICES INVOLVES

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

AUTHOR

50       David Brownell <dbrownell@users.sourceforge.net>
51           Author.
52
54Kernel Hackers Manual 3.10         June 2019           STRUCT USB_COMPOSITE(9)
Impressum