• Johan Hovold's avatar
    USB: serial: generalise write buffer preparation · eaa3bcb0
    Johan Hovold authored
    Generalise write buffer preparation.
    
    This allows for drivers to manipulate (e.g. add headers) to bulk out
    data before it is sent.
    
    This adds a new function pointer to usb_serial_driver:
    
    int (*prepare_write_buffer)(struct usb_serial_port *port,
    		void **dest, size_t size, const void *src, size_t count);
    
    The function is generic and can be used with either kfifo-based or
    multi-urb writes:
    
    If *dest is NULL the implementation should allocate dest.
    If src is NULL the implementation should use the port write fifo.
    
    If not set, a generic implementation is used which simply uses memcpy or
    kfifo_out.
    Signed-off-by: default avatarJohan Hovold <jhovold@gmail.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    eaa3bcb0
generic.c 15.2 KB