From: Andrew Morton <akpm@osdl.org>
To: "V. Ananda Krishnan" <mansarov@us.ibm.com>
Cc: linux-kernel@vger.kernel.org, alan@lxorguk.ukuu.org.uk,
bunk@stusta.de, gregkh@suse.de, Scott_Kilau@digi.com
Subject: Re: [RFC: linux-2.6.16-rc1 patch] jsm: fix for high baud rates problem
Date: Tue, 31 Jan 2006 16:01:50 -0800 [thread overview]
Message-ID: <20060131160150.0cae687e.akpm@osdl.org> (raw)
In-Reply-To: <43DE30F1.6040107@us.ibm.com>
"V. Ananda Krishnan" <mansarov@us.ibm.com> wrote:
>
> igi serial port console doesn't work when baud rates are set higher
> than 38400. So the lookup table and code in jsm_neo.c has been modified
> and tested.
- All the code you've added is one tabstop too far to the right.
- We can simplify the definition of baud_rates[]
- Using local variable `baud' as a temporary cflag is confusing.
- The baud_rates[] scanning can be simplified.
- local `i' doesn't need the initialiser.
How's this look?
--- 25/drivers/serial/jsm/jsm_neo.c~jsm-fix-for-high-baud-rates-problem-tidy Tue Jan 31 15:57:46 2006
+++ 25-akpm/drivers/serial/jsm/jsm_neo.c Tue Jan 31 15:57:46 2006
@@ -965,50 +965,47 @@ static void neo_param(struct jsm_channel
baud = ch->ch_custom_speed;
if (ch->ch_flags & CH_BAUD0)
ch->ch_flags &= ~(CH_BAUD0);
- } else {
- int i= 0;
- struct baud_rates {
- unsigned int rate;
- unsigned int cflag;
- };
- static struct baud_rates baud_rates[] = {
- { 921600, B921600 },
- { 460800, B460800 },
- { 230400, B230400 },
- { 115200, B115200 },
- { 57600, B57600 },
- { 38400, B38400 },
- { 19200, B19200 },
- { 9600, B9600 },
- { 4800, B4800 },
- { 2400, B2400 },
- { 1200, B1200 },
- { 600, B600 },
- { 300, B300 },
- { 200, B200 },
- { 150, B150 },
- { 134, B134 },
- { 110, B110 },
- { 75, B75 },
- { 50, B50 },
- { 0, B600 }
- };
+ } else {
+ int i;
+ unsigned int cflag;
+ static struct {
+ unsigned int rate;
+ unsigned int cflag;
+ } baud_rates[] = {
+ { 921600, B921600 },
+ { 460800, B460800 },
+ { 230400, B230400 },
+ { 115200, B115200 },
+ { 57600, B57600 },
+ { 38400, B38400 },
+ { 19200, B19200 },
+ { 9600, B9600 },
+ { 4800, B4800 },
+ { 2400, B2400 },
+ { 1200, B1200 },
+ { 600, B600 },
+ { 300, B300 },
+ { 200, B200 },
+ { 150, B150 },
+ { 134, B134 },
+ { 110, B110 },
+ { 75, B75 },
+ { 50, B50 },
+ };
- baud = C_BAUD(ch->uart_port.info->tty);
-
- for (i = 0; baud_rates[i].rate; i++) {
- if (baud_rates[i].cflag == baud)
- break;
+ cflag = C_BAUD(ch->uart_port.info->tty);
+ baud = 9600;
+ for (i = 0; i < ARRAY_SIZE(baud_rates); i++) {
+ if (baud_rates[i].cflag == cflag) {
+ baud = baud_rates[i].rate;
+ break;
}
- baud = baud_rates[i].rate;
-
- if (baud == 0)
- baud = 9600;
-
- if (ch->ch_flags & CH_BAUD0)
- ch->ch_flags &= ~(CH_BAUD0);
}
+ if (ch->ch_flags & CH_BAUD0)
+ ch->ch_flags &= ~(CH_BAUD0);
+ }
+
if (ch->ch_c_cflag & PARENB)
lcr |= UART_LCR_PARITY;
_
prev parent reply other threads:[~2006-02-01 0:03 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-30 15:29 V. Ananda Krishnan
2006-01-30 18:58 ` Greg KH
2006-01-30 23:17 ` V. Ananda Krishnan
2006-02-01 0:01 ` Andrew Morton [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060131160150.0cae687e.akpm@osdl.org \
--to=akpm@osdl.org \
--cc=Scott_Kilau@digi.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=bunk@stusta.de \
--cc=gregkh@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mansarov@us.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome