> +static int
> +iuu_ioctl(struct usb_serial_port *port, struct file *file, unsigned int cmd,
> + unsigned long arg)
> +{
> +
This is very wrong. Your driver may not intercept TCGETS and similar
ioctls. In fact you don't seem to need any of it. Terminal changes are
handled by the set_termios callback you provide. I'd just delete the
ioctl method for now (note a lot of other usb serial drivers get it wrong
and I'm busy cleaning them all up)
> + if (tty && urb->actual_length && data != NULL ) {
> + tty_buffer_request_room(tty, urb->actual_length + 1);
> + for (i = 0; i < urb->actual_length; ++i)
> + tty_insert_flip_char(tty, data[i], TTY_NORMAL);
We've got tty_insert_flip_string for this case which is a bit simpler.
You can just do
if (tty) {
tty_insert_flip_string(tty, data, urb->actual_length);
tty_flip_buffer_push(tty);
}
> +static int
> +iuu_uart_baud(struct usb_serial_port *port, u_int32_t baud, u_int32_t
> *actual,
> + u_int8_t parity)
u32 not u_int32_t by preference (or in fact we have speed_t for speeds)
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel