[PATCH] generic_serial: remove private decoding of baud rate bits
authorAlan Cox <[email protected]>
Fri, 29 Sep 2006 09:01:38 +0000 (02:01 -0700)
committerLinus Torvalds <[email protected]>
Fri, 29 Sep 2006 16:18:24 +0000 (09:18 -0700)
The driver has no business doing this work itself any more and hasn't for some
years.  When the new speed stuff goes in this will break entirely so fix it up
ready.

Also remove a #if 0 around a comment....

Signed-off-by: Alan Cox <[email protected]>
Cc: Russell King <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
drivers/char/generic_serial.c

index 5e59c0b42731990818df9c713adb635f378ec236..4711d9b3a59545f870d769f4818f967923bf21a9 100644 (file)
@@ -746,11 +746,9 @@ void gs_set_termios (struct tty_struct * tty,
                gs_dprintk (GS_DEBUG_TERMIOS, "termios structure (%p):\n", tiosp);
        }
 
-#if 0
        /* This is an optimization that is only allowed for dumb cards */
        /* Smart cards require knowledge of iflags and oflags too: that 
           might change hardware cooking mode.... */
-#endif
        if (old_termios) {
                if(   (tiosp->c_iflag == old_termios->c_iflag)
                   && (tiosp->c_oflag == old_termios->c_oflag)
@@ -774,14 +772,7 @@ void gs_set_termios (struct tty_struct * tty,
                if(!memcmp(tiosp->c_cc, old_termios->c_cc, NCC)) printk("c_cc changed\n");
        }
 
-       baudrate = tiosp->c_cflag & CBAUD;
-       if (baudrate & CBAUDEX) {
-               baudrate &= ~CBAUDEX;
-               if ((baudrate < 1) || (baudrate > 4))
-                       tiosp->c_cflag &= ~CBAUDEX;
-               else
-                       baudrate += 15;
-       }
+       baudrate = tty_get_baud_rate(tty);
 
        baudrate = gs_baudrates[baudrate];
        if ((tiosp->c_cflag & CBAUD) == B38400) {