diff options
| author | Johan Hovold <jhovold@gmail.com> | 2013-05-08 11:51:43 -0400 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-05-16 20:32:21 -0400 |
| commit | dcf0105039660e951dfea348d317043d17988dfc (patch) | |
| tree | 17b7748bf83e08da5da530a257a81cc044110e91 /include/linux | |
| parent | 0693196fe7bbb5e6cafd255dfce91ff6d10bc18f (diff) | |
USB: serial: add generic wait_until_sent implementation
Add generic wait_until_sent implementation which polls for empty
hardware buffers using the new port-operation tx_empty.
The generic implementation will be used for all sub-drivers that
implement tx_empty but does not define wait_until_sent.
Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/usb/serial.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/usb/serial.h b/include/linux/usb/serial.h index afbb7eeaac5f..302ddf55d2da 100644 --- a/include/linux/usb/serial.h +++ b/include/linux/usb/serial.h | |||
| @@ -269,6 +269,7 @@ struct usb_serial_driver { | |||
| 269 | void (*break_ctl)(struct tty_struct *tty, int break_state); | 269 | void (*break_ctl)(struct tty_struct *tty, int break_state); |
| 270 | int (*chars_in_buffer)(struct tty_struct *tty); | 270 | int (*chars_in_buffer)(struct tty_struct *tty); |
| 271 | void (*wait_until_sent)(struct tty_struct *tty, long timeout); | 271 | void (*wait_until_sent)(struct tty_struct *tty, long timeout); |
| 272 | bool (*tx_empty)(struct usb_serial_port *port); | ||
| 272 | void (*throttle)(struct tty_struct *tty); | 273 | void (*throttle)(struct tty_struct *tty); |
| 273 | void (*unthrottle)(struct tty_struct *tty); | 274 | void (*unthrottle)(struct tty_struct *tty); |
| 274 | int (*tiocmget)(struct tty_struct *tty); | 275 | int (*tiocmget)(struct tty_struct *tty); |
| @@ -328,6 +329,8 @@ extern void usb_serial_generic_close(struct usb_serial_port *port); | |||
| 328 | extern int usb_serial_generic_resume(struct usb_serial *serial); | 329 | extern int usb_serial_generic_resume(struct usb_serial *serial); |
| 329 | extern int usb_serial_generic_write_room(struct tty_struct *tty); | 330 | extern int usb_serial_generic_write_room(struct tty_struct *tty); |
| 330 | extern int usb_serial_generic_chars_in_buffer(struct tty_struct *tty); | 331 | extern int usb_serial_generic_chars_in_buffer(struct tty_struct *tty); |
| 332 | extern void usb_serial_generic_wait_until_sent(struct tty_struct *tty, | ||
| 333 | long timeout); | ||
| 331 | extern void usb_serial_generic_read_bulk_callback(struct urb *urb); | 334 | extern void usb_serial_generic_read_bulk_callback(struct urb *urb); |
| 332 | extern void usb_serial_generic_write_bulk_callback(struct urb *urb); | 335 | extern void usb_serial_generic_write_bulk_callback(struct urb *urb); |
| 333 | extern void usb_serial_generic_throttle(struct tty_struct *tty); | 336 | extern void usb_serial_generic_throttle(struct tty_struct *tty); |
