1#ifndef __LINUX_USB_CH9_H__
2#define __LINUX_USB_CH9_H__
31#define USB_ENDPOINT_XFER_CONTROL 0
32#define USB_ENDPOINT_XFER_ISOC 1
33#define USB_ENDPOINT_XFER_BULK 2
34#define USB_ENDPOINT_XFER_INT 3
37#define USB_DIR_OUT 0x00
38#define USB_DIR_IN 0x80
56 const struct usb_ep_ops*
ops;
93#define URB_SHORT_NOT_OK 0x0001
94#define URB_ISO_ASAP 0x0002
95#define URB_NO_TRANSFER_DMA_MAP 0x0004
96#define URB_ZERO_PACKET 0x0040
97#define URB_NO_INTERRUPT 0x0080
123#define usb_pipein(pipe) ((pipe) & USB_DIR_IN)
124#define usb_pipeout(pipe) (!usb_pipein(pipe))
125#define usb_pipedevice(pipe) (((pipe) >> 8) & 0x7f)
126#define usb_pipeendpoint(pipe) (((pipe) >> 15) & 0xf)
127#define usb_pipetype(pipe) (((pipe) >> 30) & 3)
128#define usb_pipecontrol(pipe) (usb_pipetype(pipe) == USB_ENDPOINT_XFER_CONTROL)
129#define usb_pipebulk(pipe) (usb_pipetype(pipe) == USB_ENDPOINT_XFER_BULK)
130#define usb_pipeint(pipe) (usb_pipetype(pipe) == USB_ENDPOINT_XFER_INT)
131#define usb_pipeisoc(pipe) (usb_pipetype(pipe) == USB_ENDPOINT_XFER_ISOC)
usb_device_speed
Definition ch9.h:7
@ USB_SPEED_LOW
Definition ch9.h:9
@ USB_SPEED_FULL
Definition ch9.h:10
@ USB_SPEED_HIGH
Definition ch9.h:11
@ USB_SPEED_UNKNOWN
Definition ch9.h:8
@ USB_SPEED_SUPER_PLUS
Definition ch9.h:14
@ USB_SPEED_WIRELESS
Definition ch9.h:12
@ USB_SPEED_SUPER
Definition ch9.h:13
usb_device_state
Definition ch9.h:18
@ USB_STATE_POWERED
Definition ch9.h:21
@ USB_STATE_NOTATTACHED
Definition ch9.h:19
@ USB_STATE_ADDRESS
Definition ch9.h:25
@ USB_STATE_SUSPENDED
Definition ch9.h:27
@ USB_STATE_CONFIGURED
Definition ch9.h:26
@ USB_STATE_ATTACHED
Definition ch9.h:20
@ USB_STATE_DEFAULT
Definition ch9.h:24
@ USB_STATE_UNAUTHENTICATED
Definition ch9.h:23
@ USB_STATE_RECONNECTING
Definition ch9.h:22
uintptr_t dma_addr_t
Definition kernel.h:42
uint8_t u8
Definition kernel.h:14
uint16_t u16
Definition kernel.h:15
uint32_t u32
Definition kernel.h:16
dma_addr_t setup_dma
Definition ch9.h:113
int start_frame
Definition ch9.h:114
unsigned int pipe
Definition ch9.h:104
unsigned int stream_id
Definition ch9.h:105
int status
Definition ch9.h:106
struct list_head anchor_list
Definition ch9.h:101
int interval
Definition ch9.h:116
u32 transfer_buffer_length
Definition ch9.h:110
int error_count
Definition ch9.h:117
void * context
Definition ch9.h:118
struct usb_host_endpoint * ep
Definition ch9.h:103
struct usb_device * dev
Definition ch9.h:102
int number_of_packets
Definition ch9.h:115
unsigned int transfer_flags
Definition ch9.h:107
void(* complete)(struct urb *urb)
Definition ch9.h:119
void * transfer_buffer
Definition ch9.h:108
unsigned char * setup_packet
Definition ch9.h:112
dma_addr_t transfer_dma
Definition ch9.h:109
u32 actual_length
Definition ch9.h:111
struct list_head urb_list
Definition ch9.h:100
u8 otg_port
Definition ch9.h:172
const char * bus_name
Definition ch9.h:169
int busnum
Definition ch9.h:168
u8 uses_dma
Definition ch9.h:170
u8 uses_pio_for_control
Definition ch9.h:171
struct device * controller
Definition ch9.h:167
struct usb_device * root_hub
Definition ch9.h:174
int devnum_next
Definition ch9.h:173
enum usb_device_speed speed
Definition ch9.h:149
int maxchild
Definition ch9.h:159
void * hcpriv
Definition ch9.h:162
int devnum
Definition ch9.h:147
u16 descriptor_idProduct
Definition ch9.h:155
struct usb_bus * bus
Definition ch9.h:151
u16 descriptor_idVendor
Definition ch9.h:154
struct usb_device * children[16]
Definition ch9.h:160
struct usb_host_endpoint ep0
Definition ch9.h:152
u32 quirks
Definition ch9.h:161
char * serial
Definition ch9.h:158
enum usb_device_state state
Definition ch9.h:148
char * manufacturer
Definition ch9.h:157
char * product
Definition ch9.h:156
struct usb_device * parent
Definition ch9.h:150
u8 bInterval
Definition ch9.h:48
u8 bDescriptorType
Definition ch9.h:44
u16 wMaxPacketSize
Definition ch9.h:47
u8 bEndpointAddress
Definition ch9.h:45
u8 bmAttributes
Definition ch9.h:46
u8 bLength
Definition ch9.h:43
bool caps_type_iso
Definition ch9.h:68
u8 address
Definition ch9.h:64
bool caps_type_bulk
Definition ch9.h:69
bool caps_type_control
Definition ch9.h:67
bool caps_type_int
Definition ch9.h:70
bool enabled
Definition ch9.h:71
unsigned maxburst
Definition ch9.h:63
bool wedged
Definition ch9.h:72
unsigned max_streams
Definition ch9.h:61
const char * name
Definition ch9.h:55
unsigned mult
Definition ch9.h:62
unsigned maxpacket_limit
Definition ch9.h:60
const struct usb_ep_ops * ops
Definition ch9.h:56
bool caps_dir_out
Definition ch9.h:66
unsigned maxpacket
Definition ch9.h:59
struct usb_endpoint_descriptor * desc
Definition ch9.h:58
void * driver_data
Definition ch9.h:54
struct list_head ep_list
Definition ch9.h:57
bool caps_dir_in
Definition ch9.h:65
int streams
Definition ch9.h:142
unsigned char * extra
Definition ch9.h:139
struct list_head urb_list
Definition ch9.h:136
struct ep_device * ep_dev
Definition ch9.h:138
void * hcpriv
Definition ch9.h:137
int enabled
Definition ch9.h:141
int extralen
Definition ch9.h:140
struct usb_endpoint_descriptor desc
Definition ch9.h:135
int status
Definition ch9.h:89
unsigned no_interrupt
Definition ch9.h:81
struct list_head list
Definition ch9.h:87
unsigned actual
Definition ch9.h:88
unsigned stream_id
Definition ch9.h:80
unsigned zero
Definition ch9.h:82
unsigned short_not_ok
Definition ch9.h:83
void(* complete)(struct usb_ep *ep, struct usb_request *req)
Definition ch9.h:84
void * buf
Definition ch9.h:77
dma_addr_t dma
Definition ch9.h:79
void * context
Definition ch9.h:86
unsigned length
Definition ch9.h:78