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 | |
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')
-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); |