浏览代码

USB: mos7720: clean up termios

Remove lots of NULL checks that can no longer occur
Encode the baud rate back into the termios (again someone with docs see
FIXME to improve this further)

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Alan Cox 17 年之前
父节点
当前提交
65d063ab21
共有 1 个文件被更改,包括 8 次插入20 次删除
  1. 8 20
      drivers/usb/serial/mos7720.c

+ 8 - 20
drivers/usb/serial/mos7720.c

@@ -1040,11 +1040,6 @@ static void change_port_settings(struct moschip_port *mos7720_port,
 
 
 	tty = mos7720_port->port->tty;
 	tty = mos7720_port->port->tty;
 
 
-	if ((!tty) || (!tty->termios)) {
-		dbg("%s - no tty structures", __FUNCTION__);
-		return;
-	}
-
 	dbg("%s: Entering ..........", __FUNCTION__);
 	dbg("%s: Entering ..........", __FUNCTION__);
 
 
 	lData = UART_LCR_WLEN8;
 	lData = UART_LCR_WLEN8;
@@ -1175,7 +1170,10 @@ static void change_port_settings(struct moschip_port *mos7720_port,
 
 
 	dbg("%s - baud rate = %d", __FUNCTION__, baud);
 	dbg("%s - baud rate = %d", __FUNCTION__, baud);
 	status = send_cmd_write_baud_rate(mos7720_port, baud);
 	status = send_cmd_write_baud_rate(mos7720_port, baud);
-
+	/* FIXME: needs to write actual resulting baud back not just
+	   blindly do so */
+	if (cflag & CBAUD)
+		tty_encode_baud_rate(tty, baud, baud);
 	/* Enable Interrupts */
 	/* Enable Interrupts */
 	data = 0x0c;
 	data = 0x0c;
 	send_mos_cmd(serial, MOS_WRITE, port_number, UART_IER, &data);
 	send_mos_cmd(serial, MOS_WRITE, port_number, UART_IER, &data);
@@ -1214,10 +1212,6 @@ static void mos7720_set_termios(struct usb_serial_port *port,
 
 
 	tty = port->tty;
 	tty = port->tty;
 
 
-	if (!port->tty || !port->tty->termios) {
-		dbg("%s - no tty or termios", __FUNCTION__);
-		return;
-	}
 
 
 	if (!mos7720_port->open) {
 	if (!mos7720_port->open) {
 		dbg("%s - port not opened", __FUNCTION__);
 		dbg("%s - port not opened", __FUNCTION__);
@@ -1228,19 +1222,13 @@ static void mos7720_set_termios(struct usb_serial_port *port,
 
 
 	cflag = tty->termios->c_cflag;
 	cflag = tty->termios->c_cflag;
 
 
-	if (!cflag) {
-		printk("%s %s\n",__FUNCTION__,"cflag is NULL");
-		return;
-	}
-
-	dbg("%s - clfag %08x iflag %08x", __FUNCTION__,
+	dbg("%s - cflag %08x iflag %08x", __FUNCTION__,
 	    tty->termios->c_cflag,
 	    tty->termios->c_cflag,
 	    RELEVANT_IFLAG(tty->termios->c_iflag));
 	    RELEVANT_IFLAG(tty->termios->c_iflag));
 
 
-	if (old_termios)
-		dbg("%s - old clfag %08x old iflag %08x", __FUNCTION__,
-		    old_termios->c_cflag,
-		    RELEVANT_IFLAG(old_termios->c_iflag));
+	dbg("%s - old cflag %08x old iflag %08x", __FUNCTION__,
+	    old_termios->c_cflag,
+	    RELEVANT_IFLAG(old_termios->c_iflag));
 
 
 	dbg("%s - port %d", __FUNCTION__, port->number);
 	dbg("%s - port %d", __FUNCTION__, port->number);