mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
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;
 
_


      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