From: Alan Cox Date: Fri, 29 Sep 2006 09:01:38 +0000 (-0700) Subject: [PATCH] generic_serial: remove private decoding of baud rate bits X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=d720bc4b8fc5d6d179ef094908d4fbb5e436ffad;p=deliverable%2Flinux.git [PATCH] generic_serial: remove private decoding of baud rate bits 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 Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/drivers/char/generic_serial.c b/drivers/char/generic_serial.c index 5e59c0b42731..4711d9b3a595 100644 --- a/drivers/char/generic_serial.c +++ b/drivers/char/generic_serial.c @@ -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) {