diff options
Diffstat (limited to 'include/linux/usb/serial.h')
| -rw-r--r-- | include/linux/usb/serial.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/usb/serial.h b/include/linux/usb/serial.h index a4c99ea390e7..70b6d6b28997 100644 --- a/include/linux/usb/serial.h +++ b/include/linux/usb/serial.h | |||
| @@ -35,6 +35,9 @@ enum port_dev_state { | |||
| 35 | PORT_UNREGISTERING, | 35 | PORT_UNREGISTERING, |
| 36 | }; | 36 | }; |
| 37 | 37 | ||
| 38 | /* USB serial flags */ | ||
| 39 | #define USB_SERIAL_WRITE_BUSY 0 | ||
| 40 | |||
| 38 | /** | 41 | /** |
| 39 | * usb_serial_port: structure for the specific ports of a device. | 42 | * usb_serial_port: structure for the specific ports of a device. |
| 40 | * @serial: pointer back to the struct usb_serial owner of this port. | 43 | * @serial: pointer back to the struct usb_serial owner of this port. |
| @@ -60,10 +63,14 @@ enum port_dev_state { | |||
| 60 | * @write_urb: pointer to the bulk out struct urb for this port. | 63 | * @write_urb: pointer to the bulk out struct urb for this port. |
| 61 | * @write_fifo: kfifo used to buffer outgoing data | 64 | * @write_fifo: kfifo used to buffer outgoing data |
| 62 | * @write_urb_busy: port`s writing status | 65 | * @write_urb_busy: port`s writing status |
| 66 | * @bulk_out_buffers: pointers to the bulk out buffers for this port | ||
| 67 | * @write_urbs: pointers to the bulk out urbs for this port | ||
| 68 | * @write_urbs_free: status bitmap the for bulk out urbs | ||
| 63 | * @tx_bytes: number of bytes currently in host stack queues | 69 | * @tx_bytes: number of bytes currently in host stack queues |
| 64 | * @tx_urbs: number of urbs currently in host stack queues | 70 | * @tx_urbs: number of urbs currently in host stack queues |
| 65 | * @bulk_out_endpointAddress: endpoint address for the bulk out pipe for this | 71 | * @bulk_out_endpointAddress: endpoint address for the bulk out pipe for this |
| 66 | * port. | 72 | * port. |
| 73 | * @flags: usb serial port flags | ||
| 67 | * @write_wait: a wait_queue_head_t used by the port. | 74 | * @write_wait: a wait_queue_head_t used by the port. |
| 68 | * @work: work queue entry for the line discipline waking up. | 75 | * @work: work queue entry for the line discipline waking up. |
| 69 | * @throttled: nonzero if the read urb is inactive to throttle the device | 76 | * @throttled: nonzero if the read urb is inactive to throttle the device |
| @@ -98,11 +105,16 @@ struct usb_serial_port { | |||
| 98 | struct urb *write_urb; | 105 | struct urb *write_urb; |
| 99 | struct kfifo write_fifo; | 106 | struct kfifo write_fifo; |
| 100 | int write_urb_busy; | 107 | int write_urb_busy; |
| 108 | |||
| 109 | unsigned char *bulk_out_buffers[2]; | ||
| 110 | struct urb *write_urbs[2]; | ||
| 111 | unsigned long write_urbs_free; | ||
| 101 | __u8 bulk_out_endpointAddress; | 112 | __u8 bulk_out_endpointAddress; |
| 102 | 113 | ||
| 103 | int tx_bytes; | 114 | int tx_bytes; |
| 104 | int tx_urbs; | 115 | int tx_urbs; |
| 105 | 116 | ||
| 117 | unsigned long flags; | ||
| 106 | wait_queue_head_t write_wait; | 118 | wait_queue_head_t write_wait; |
| 107 | struct work_struct work; | 119 | struct work_struct work; |
| 108 | char throttled; | 120 | char throttled; |
