Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
usb_composite_dev Struct Reference

#include <composite.h>

Data Fields

struct usb_gadgetgadget
 
struct usb_requestreq
 
unsigned bufsiz
 
struct usb_configurationconfig
 
unsigned int suspended:1
 
struct usb_device_descriptor desc
 
struct list_head configs
 
struct usb_composite_driverdriver
 
u8 next_string_id
 
u8 manufacturer_override
 
u8 product_override
 
u8 serial_override
 
unsigned deactivations
 
int delayed_status
 
spinlock_t lock
 
chardef_manufacturer
 

Detailed Description

struct usb_composite_device - represents one composite usb gadget : read-only, abstracts the gadget's usb peripheral controller : used for control responses; buffer is pre-allocated : size of buffer pre-allocated in : the currently active configuration

One of these devices is allocated and initialized before the associated device driver's bind() is called.

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 won't hurt too much.

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.

struct usb_composite_device - represents one composite usb gadget : read-only, abstracts the gadget's usb peripheral controller : used for control responses; buffer is pre-allocated : the currently active configuration

One of these devices is allocated and initialized before the associated device driver's bind() is called.

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 won't hurt too much.

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.

Definition at line 345 of file composite.h.

Field Documentation

unsigned bufsiz

Definition at line 348 of file composite.h.

Definition at line 350 of file composite.h.

struct list_head configs

Definition at line 356 of file composite.h.

unsigned deactivations

Definition at line 366 of file composite.h.

char* def_manufacturer

Definition at line 363 of file composite.h.

int delayed_status

Definition at line 371 of file composite.h.

Definition at line 355 of file composite.h.

Definition at line 357 of file composite.h.

struct usb_gadget * gadget

Definition at line 346 of file composite.h.

spinlock_t lock

Definition at line 374 of file composite.h.

u8 manufacturer_override

Definition at line 359 of file composite.h.

u8 next_string_id

Definition at line 358 of file composite.h.

u8 product_override

Definition at line 360 of file composite.h.

Definition at line 347 of file composite.h.

u8 serial_override

Definition at line 361 of file composite.h.

unsigned int suspended

Definition at line 354 of file composite.h.


The documentation for this struct was generated from the following files: