Commit bf8aea80 authored by Matthieu Cattin's avatar Matthieu Cattin

sw: Port cp210x modified driver to kernel 3.13.0-24-generic

-> to install a pts system with ubuntu 14.04
parent 2c2988f8
......@@ -323,7 +323,7 @@ static int cp210x_get_config(struct usb_serial_port *port, u8 requestType,
kfree(buf);
if (result != size) {
dbg("%s - Unable to send config request, "
dev_dbg(&port->dev, "%s - Unable to send config request, "
"request=0x%x size=%d result=%d\n",
__func__, request, size, result);
if (result > 0)
......@@ -375,7 +375,7 @@ static int cp210x_set_config(struct usb_serial_port *port, u8 requestType,
kfree(buf);
if (result != size) {
dbg("%s - Unable to send request, "
dev_dbg(&port->dev, "%s - Unable to send request, "
"request=0x%x size=%d result=%d\n",
__func__, request, size, result);
if (result > 0)
......@@ -432,7 +432,7 @@ static int cp210x_open(struct tty_struct *tty, struct usb_serial_port *port)
{
int result;
dbg("%s - port %d", __func__, port->number);
dev_dbg(&port->dev, "%s - port %d", __func__, port->port_number);
result = cp210x_set_config(port, REQTYPE_HOST_TO_INTERFACE,
CP210X_IFC_ENABLE, UART_ENABLE, NULL, 0);
......@@ -453,7 +453,7 @@ static int cp210x_open(struct tty_struct *tty, struct usb_serial_port *port)
static void cp210x_close(struct usb_serial_port *port)
{
dbg("%s - port %d", __func__, port->number);
dev_dbg(&port->dev, "%s - port %d", __func__, port->port_number);
usb_serial_generic_close(port);
......@@ -470,7 +470,7 @@ static int cp210x_ioctl(struct tty_struct *tty,
struct usb_serial_port *port = tty->driver_data;
struct cp210x_port_private *port_priv = usb_get_serial_port_data(port);
printk("port %x priv %x cmd %x arg %x %x\n", port, port_priv, cmd, arg, *(unsigned char *)arg);
printk("port %x priv %x cmd %x arg %x %x\n", port->port_number, port_priv->bPartNumber, cmd, (unsigned int)arg, *(unsigned char *)arg);
if(arg == 0)
return -EINVAL;
......@@ -542,7 +542,7 @@ static void cp210x_get_termios(struct tty_struct *tty,
if (tty) {
cp210x_get_termios_port(tty->driver_data,
&tty->termios->c_cflag, &baud);
&tty->termios.c_cflag, &baud);
tty_encode_baud_rate(tty, baud, baud);
}
......@@ -564,12 +564,12 @@ static void cp210x_get_termios_port(struct usb_serial_port *port,
unsigned int baud;
unsigned int bits;
dbg("%s - port %d", __func__, port->number);
dev_dbg(&port->dev, "%s - port %d", __func__, port->port_number);
cp210x_get_config(port, REQTYPE_INTERFACE_TO_HOST,
CP210X_GET_BAUDRATE, 0, &baud, 4);
dbg("%s - baud rate = %d", __func__, baud);
dev_dbg(&port->dev, "%s - baud rate = %d", __func__, baud);
*baudp = baud;
cflag = *cflagp;
......@@ -579,23 +579,23 @@ static void cp210x_get_termios_port(struct usb_serial_port *port,
cflag &= ~CSIZE;
switch (bits & BITS_DATA_MASK) {
case BITS_DATA_5:
dbg("%s - data bits = 5", __func__);
dev_dbg(&port->dev, "%s - data bits = 5", __func__);
cflag |= CS5;
break;
case BITS_DATA_6:
dbg("%s - data bits = 6", __func__);
dev_dbg(&port->dev, "%s - data bits = 6", __func__);
cflag |= CS6;
break;
case BITS_DATA_7:
dbg("%s - data bits = 7", __func__);
dev_dbg(&port->dev, "%s - data bits = 7", __func__);
cflag |= CS7;
break;
case BITS_DATA_8:
dbg("%s - data bits = 8", __func__);
dev_dbg(&port->dev, "%s - data bits = 8", __func__);
cflag |= CS8;
break;
case BITS_DATA_9:
dbg("%s - data bits = 9 (not supported, using 8 data bits)",
dev_dbg(&port->dev, "%s - data bits = 9 (not supported, using 8 data bits)",
__func__);
cflag |= CS8;
bits &= ~BITS_DATA_MASK;
......@@ -604,7 +604,7 @@ static void cp210x_get_termios_port(struct usb_serial_port *port,
CP210X_SET_LINE_CTL, 0, &bits, 2);
break;
default:
dbg("%s - Unknown number of data bits, using 8", __func__);
dev_dbg(&port->dev, "%s - Unknown number of data bits, using 8", __func__);
cflag |= CS8;
bits &= ~BITS_DATA_MASK;
bits |= BITS_DATA_8;
......@@ -615,29 +615,29 @@ static void cp210x_get_termios_port(struct usb_serial_port *port,
switch (bits & BITS_PARITY_MASK) {
case BITS_PARITY_NONE:
dbg("%s - parity = NONE", __func__);
dev_dbg(&port->dev, "%s - parity = NONE", __func__);
cflag &= ~PARENB;
break;
case BITS_PARITY_ODD:
dbg("%s - parity = ODD", __func__);
dev_dbg(&port->dev, "%s - parity = ODD", __func__);
cflag |= (PARENB|PARODD);
break;
case BITS_PARITY_EVEN:
dbg("%s - parity = EVEN", __func__);
dev_dbg(&port->dev, "%s - parity = EVEN", __func__);
cflag &= ~PARODD;
cflag |= PARENB;
break;
case BITS_PARITY_MARK:
dbg("%s - parity = MARK", __func__);
dev_dbg(&port->dev, "%s - parity = MARK", __func__);
cflag |= (PARENB|PARODD|CMSPAR);
break;
case BITS_PARITY_SPACE:
dbg("%s - parity = SPACE", __func__);
dev_dbg(&port->dev, "%s - parity = SPACE", __func__);
cflag &= ~PARODD;
cflag |= (PARENB|CMSPAR);
break;
default:
dbg("%s - Unknown parity mode, disabling parity", __func__);
dev_dbg(&port->dev, "%s - Unknown parity mode, disabling parity", __func__);
cflag &= ~PARENB;
bits &= ~BITS_PARITY_MASK;
cp210x_set_config(port, REQTYPE_HOST_TO_INTERFACE,
......@@ -648,21 +648,21 @@ static void cp210x_get_termios_port(struct usb_serial_port *port,
cflag &= ~CSTOPB;
switch (bits & BITS_STOP_MASK) {
case BITS_STOP_1:
dbg("%s - stop bits = 1", __func__);
dev_dbg(&port->dev, "%s - stop bits = 1", __func__);
break;
case BITS_STOP_1_5:
dbg("%s - stop bits = 1.5 (not supported, using 1 stop bit)",
dev_dbg(&port->dev, "%s - stop bits = 1.5 (not supported, using 1 stop bit)",
__func__);
bits &= ~BITS_STOP_MASK;
cp210x_set_config(port, REQTYPE_HOST_TO_INTERFACE,
CP210X_SET_LINE_CTL, 0, &bits, 2);
break;
case BITS_STOP_2:
dbg("%s - stop bits = 2", __func__);
dev_dbg(&port->dev, "%s - stop bits = 2", __func__);
cflag |= CSTOPB;
break;
default:
dbg("%s - Unknown number of stop bits, using 1 stop bit",
dev_dbg(&port->dev, "%s - Unknown number of stop bits, using 1 stop bit",
__func__);
bits &= ~BITS_STOP_MASK;
cp210x_set_config(port, REQTYPE_HOST_TO_INTERFACE,
......@@ -673,10 +673,10 @@ static void cp210x_get_termios_port(struct usb_serial_port *port,
cp210x_get_config(port, REQTYPE_INTERFACE_TO_HOST,
CP210X_GET_FLOW, 0, modem_ctl, 16);
if (modem_ctl[0] & 0x0008) {
dbg("%s - flow control = CRTSCTS", __func__);
dev_dbg(&port->dev, "%s - flow control = CRTSCTS", __func__);
cflag |= CRTSCTS;
} else {
dbg("%s - flow control = NONE", __func__);
dev_dbg(&port->dev, "%s - flow control = NONE", __func__);
cflag &= ~CRTSCTS;
}
......@@ -714,7 +714,7 @@ static void cp210x_change_speed(struct tty_struct *tty,
{
u32 baud;
baud = tty->termios->c_ospeed;
baud = tty->termios.c_ospeed;
/* This maps the requested rate to a rate valid on cp2102 or cp2103,
* or to an arbitrary rate in [1M,2M].
......@@ -723,7 +723,7 @@ static void cp210x_change_speed(struct tty_struct *tty,
*/
baud = cp210x_quantise_baudrate(baud);
dbg("%s - setting baud rate to %u", __func__, baud);
dev_dbg(&port->dev, "%s - setting baud rate to %u", __func__, baud);
if (cp210x_set_config(port, REQTYPE_HOST_TO_INTERFACE,
CP210X_SET_BAUDRATE, 0, &baud, sizeof(baud))) {
dev_warn(&port->dev, "failed to set baud rate to %u\n", baud);
......@@ -743,12 +743,12 @@ static void cp210x_set_termios(struct tty_struct *tty,
unsigned int bits;
unsigned int modem_ctl[4];
dbg("%s - port %d", __func__, port->number);
dev_dbg(&port->dev, "%s - port %d", __func__, port->port_number);
if (!tty)
return;
cflag = tty->termios->c_cflag;
cflag = tty->termios.c_cflag;
old_cflag = old_termios->c_cflag;
cp210x_change_speed(tty, port, old_termios);
......@@ -761,26 +761,26 @@ static void cp210x_set_termios(struct tty_struct *tty,
switch (cflag & CSIZE) {
case CS5:
bits |= BITS_DATA_5;
dbg("%s - data bits = 5", __func__);
dev_dbg(&port->dev, "%s - data bits = 5", __func__);
break;
case CS6:
bits |= BITS_DATA_6;
dbg("%s - data bits = 6", __func__);
dev_dbg(&port->dev, "%s - data bits = 6", __func__);
break;
case CS7:
bits |= BITS_DATA_7;
dbg("%s - data bits = 7", __func__);
dev_dbg(&port->dev, "%s - data bits = 7", __func__);
break;
case CS8:
bits |= BITS_DATA_8;
dbg("%s - data bits = 8", __func__);
dev_dbg(&port->dev, "%s - data bits = 8", __func__);
break;
/*case CS9:
bits |= BITS_DATA_9;
dbg("%s - data bits = 9", __func__);
dev_dbg(&port->dev, "%s - data bits = 9", __func__);
break;*/
default:
dbg("cp210x driver does not "
dev_dbg(&port->dev, "cp210x driver does not "
"support the number of bits requested,"
" using 8 bit mode\n");
bits |= BITS_DATA_8;
......@@ -788,7 +788,7 @@ static void cp210x_set_termios(struct tty_struct *tty,
}
if (cp210x_set_config(port, REQTYPE_HOST_TO_INTERFACE,
CP210X_SET_LINE_CTL, 0, &bits, 2))
dbg("Number of data bits requested "
dev_dbg(&port->dev, "Number of data bits requested "
"not supported by device\n");
}
......@@ -801,24 +801,24 @@ static void cp210x_set_termios(struct tty_struct *tty,
if (cflag & CMSPAR) {
if (cflag & PARODD) {
bits |= BITS_PARITY_MARK;
dbg("%s - parity = MARK", __func__);
dev_dbg(&port->dev, "%s - parity = MARK", __func__);
} else {
bits |= BITS_PARITY_SPACE;
dbg("%s - parity = SPACE", __func__);
dev_dbg(&port->dev, "%s - parity = SPACE", __func__);
}
} else {
if (cflag & PARODD) {
bits |= BITS_PARITY_ODD;
dbg("%s - parity = ODD", __func__);
dev_dbg(&port->dev, "%s - parity = ODD", __func__);
} else {
bits |= BITS_PARITY_EVEN;
dbg("%s - parity = EVEN", __func__);
dev_dbg(&port->dev, "%s - parity = EVEN", __func__);
}
}
}
if (cp210x_set_config(port, REQTYPE_HOST_TO_INTERFACE,
CP210X_SET_LINE_CTL, 0, &bits, 2))
dbg("Parity mode not supported "
dev_dbg(&port->dev, "Parity mode not supported "
"by device\n");
}
......@@ -828,21 +828,21 @@ static void cp210x_set_termios(struct tty_struct *tty,
bits &= ~BITS_STOP_MASK;
if (cflag & CSTOPB) {
bits |= BITS_STOP_2;
dbg("%s - stop bits = 2", __func__);
dev_dbg(&port->dev, "%s - stop bits = 2", __func__);
} else {
bits |= BITS_STOP_1;
dbg("%s - stop bits = 1", __func__);
dev_dbg(&port->dev, "%s - stop bits = 1", __func__);
}
if (cp210x_set_config(port, REQTYPE_HOST_TO_INTERFACE,
CP210X_SET_LINE_CTL, 0, &bits, 2))
dbg("Number of stop bits requested "
dev_dbg(&port->dev, "Number of stop bits requested "
"not supported by device\n");
}
if ((cflag & CRTSCTS) != (old_cflag & CRTSCTS)) {
cp210x_get_config(port, REQTYPE_INTERFACE_TO_HOST,
CP210X_GET_FLOW, 0, modem_ctl, 16);
dbg("%s - read modem controls = 0x%.4x 0x%.4x 0x%.4x 0x%.4x",
dev_dbg(&port->dev, "%s - read modem controls = 0x%.4x 0x%.4x 0x%.4x 0x%.4x",
__func__, modem_ctl[0], modem_ctl[1],
modem_ctl[2], modem_ctl[3]);
......@@ -850,15 +850,15 @@ static void cp210x_set_termios(struct tty_struct *tty,
modem_ctl[0] &= ~0x7B;
modem_ctl[0] |= 0x09;
modem_ctl[1] = 0x80;
dbg("%s - flow control = CRTSCTS", __func__);
dev_dbg(&port->dev, "%s - flow control = CRTSCTS", __func__);
} else {
modem_ctl[0] &= ~0x7B;
modem_ctl[0] |= 0x01;
modem_ctl[1] |= 0x40;
dbg("%s - flow control = NONE", __func__);
dev_dbg(&port->dev, "%s - flow control = NONE", __func__);
}
dbg("%s - write modem controls = 0x%.4x 0x%.4x 0x%.4x 0x%.4x",
dev_dbg(&port->dev, "%s - write modem controls = 0x%.4x 0x%.4x 0x%.4x 0x%.4x",
__func__, modem_ctl[0], modem_ctl[1],
modem_ctl[2], modem_ctl[3]);
cp210x_set_config(port, REQTYPE_HOST_TO_INTERFACE,
......@@ -879,7 +879,7 @@ static int cp210x_tiocmset_port(struct usb_serial_port *port,
{
unsigned int control = 0;
dbg("%s - port %d", __func__, port->number);
dev_dbg(&port->dev, "%s - port %d", __func__, port->port_number);
if (set & TIOCM_RTS) {
control |= CONTROL_RTS;
......@@ -898,7 +898,7 @@ static int cp210x_tiocmset_port(struct usb_serial_port *port,
control |= CONTROL_WRITE_DTR;
}
dbg("%s - control = 0x%.4x", __func__, control);
dev_dbg(&port->dev, "%s - control = 0x%.4x", __func__, control);
return cp210x_set_config(port, REQTYPE_HOST_TO_INTERFACE,
CP210X_SET_MHS, 0, &control, 2);
......@@ -918,7 +918,7 @@ static int cp210x_tiocmget (struct tty_struct *tty)
unsigned int control;
int result;
dbg("%s - port %d", __func__, port->number);
dev_dbg(&port->dev, "%s - port %d", __func__, port->port_number);
cp210x_get_config(port, REQTYPE_INTERFACE_TO_HOST,
CP210X_GET_MDMSTS, 0, &control, 1);
......@@ -930,7 +930,7 @@ static int cp210x_tiocmget (struct tty_struct *tty)
|((control & CONTROL_RING)? TIOCM_RI : 0)
|((control & CONTROL_DCD) ? TIOCM_CD : 0);
dbg("%s - control = 0x%.2x", __func__, control);
dev_dbg(&port->dev, "%s - control = 0x%.2x", __func__, control);
return result;
}
......@@ -940,12 +940,12 @@ static void cp210x_break_ctl (struct tty_struct *tty, int break_state)
struct usb_serial_port *port = tty->driver_data;
unsigned int state;
dbg("%s - port %d", __func__, port->number);
dev_dbg(&port->dev, "%s - port %d", __func__, port->port_number);
if (break_state == 0)
state = BREAK_OFF;
else
state = BREAK_ON;
dbg("%s - turning break %s", __func__,
dev_dbg(&port->dev, "%s - turning break %s", __func__,
state == BREAK_OFF ? "off" : "on");
cp210x_set_config(port, REQTYPE_HOST_TO_INTERFACE,
CP210X_SET_BREAK, 0, &state, 2);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment