Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris...
[linux/fpc-iii.git] / drivers / staging / bcm / InterfaceAdapter.h
blob06a6b18bca4881680624ebe9495eb9bf33e1b0fc
1 #ifndef _INTERFACE_ADAPTER_H
2 #define _INTERFACE_ADAPTER_H
4 struct bcm_bulk_endpoint_in {
5 char *bulk_in_buffer;
6 size_t bulk_in_size;
7 unsigned char bulk_in_endpointAddr;
8 unsigned int bulk_in_pipe;
9 };
11 struct bcm_bulk_endpoint_out {
12 unsigned char bulk_out_buffer;
13 size_t bulk_out_size;
14 unsigned char bulk_out_endpointAddr;
15 unsigned int bulk_out_pipe;
16 /* this is used when int out endpoint is used as bulk out end point */
17 unsigned char int_out_interval;
20 struct bcm_intr_endpoint_in {
21 char *int_in_buffer;
22 size_t int_in_size;
23 unsigned char int_in_endpointAddr;
24 unsigned char int_in_interval;
25 unsigned int int_in_pipe;
28 struct bcm_intr_endpoint_out {
29 char *int_out_buffer;
30 size_t int_out_size;
31 unsigned char int_out_endpointAddr;
32 unsigned char int_out_interval;
33 unsigned int int_out_pipe;
36 struct bcm_usb_tcb {
37 struct urb *urb;
38 void *psIntfAdapter;
39 bool bUsed;
42 struct bcm_usb_rcb {
43 struct urb *urb;
44 void *psIntfAdapter;
45 bool bUsed;
49 * This is the interface specific Sub-Adapter
50 * Structure.
52 struct bcm_interface_adapter {
53 struct usb_device *udev;
54 struct usb_interface *interface;
55 /* Bulk endpoint in info */
56 struct bcm_bulk_endpoint_in sBulkIn;
57 /* Bulk endpoint out info */
58 struct bcm_bulk_endpoint_out sBulkOut;
59 /* Interrupt endpoint in info */
60 struct bcm_intr_endpoint_in sIntrIn;
61 /* Interrupt endpoint out info */
62 struct bcm_intr_endpoint_out sIntrOut;
63 unsigned long ulInterruptData[2];
64 struct urb *psInterruptUrb;
65 struct bcm_usb_tcb asUsbTcb[MAXIMUM_USB_TCB];
66 struct bcm_usb_rcb asUsbRcb[MAXIMUM_USB_RCB];
67 atomic_t uNumTcbUsed;
68 atomic_t uCurrTcb;
69 atomic_t uNumRcbUsed;
70 atomic_t uCurrRcb;
71 struct bcm_mini_adapter *psAdapter;
72 bool bFlashBoot;
73 bool bHighSpeedDevice;
74 bool bSuspended;
75 bool bPreparingForBusSuspend;
76 struct work_struct usbSuspendWork;
79 #endif