USB: serial: remove multi-urb write from generic driver
Remove multi-urb write from the generic driver and simplify the prepare_write_buffer prototype: int (*prepare_write_buffer)(struct usb_serial_port *port, void *dest, size_t size); The default implementation simply fills dest with data from port write fifo but drivers can override it if they need to process the outgoing data (e.g. add headers). Turn ftdi_sio into a generic fifo-based driver, which lowers CPU usage significantly for small writes while retaining maximum throughput. Signed-off-by:Johan Hovold <jhovold@gmail.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@suse.de>
Showing
- drivers/usb/serial/aircable.c 3 additions, 4 deletionsdrivers/usb/serial/aircable.c
- drivers/usb/serial/ftdi_sio.c 21 additions, 38 deletionsdrivers/usb/serial/ftdi_sio.c
- drivers/usb/serial/generic.c 22 additions, 128 deletionsdrivers/usb/serial/generic.c
- include/linux/usb/serial.h 2 additions, 6 deletionsinclude/linux/usb/serial.h
Loading
Please register or sign in to comment