summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2008-05-23 15:47:55 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2008-05-23 15:47:55 +0000
commit495c3e0ad64cc8c913557ef0fdd6e788829cc86a (patch)
treea954802cec0dea2251c814562832fa62fe0859d5
parent2008-05-22 Till Straumann <strauman@slac.stanford.edu> (diff)
downloadrtems-495c3e0ad64cc8c913557ef0fdd6e788829cc86a.tar.bz2
2008-05-23 Joel Sherrill <joel.sherrill@OARcorp.com>
* shared/comm/console.c: Eliminate copies of switches to convert termios Bxxx constants to xxx as an integer. Use the shared termios_baud_to_number() routine to do the same conversion.
-rw-r--r--c/src/lib/libbsp/arm/ChangeLog6
-rw-r--r--c/src/lib/libbsp/arm/shared/comm/console.c61
2 files changed, 9 insertions, 58 deletions
diff --git a/c/src/lib/libbsp/arm/ChangeLog b/c/src/lib/libbsp/arm/ChangeLog
index 590255eddd..f8c942c607 100644
--- a/c/src/lib/libbsp/arm/ChangeLog
+++ b/c/src/lib/libbsp/arm/ChangeLog
@@ -1,3 +1,9 @@
+2008-05-23 Joel Sherrill <joel.sherrill@OARcorp.com>
+
+ * shared/comm/console.c: Eliminate copies of switches to convert
+ termios Bxxx constants to xxx as an integer. Use the shared
+ termios_baud_to_number() routine to do the same conversion.
+
2008-05-15 Joel Sherrill <joel.sherrill@OARcorp.com>
* csb336/startup/bspstart.c, csb337/startup/bspstart.c,
diff --git a/c/src/lib/libbsp/arm/shared/comm/console.c b/c/src/lib/libbsp/arm/shared/comm/console.c
index 1cb80a177a..b2c329a060 100644
--- a/c/src/lib/libbsp/arm/shared/comm/console.c
+++ b/c/src/lib/libbsp/arm/shared/comm/console.c
@@ -255,64 +255,9 @@ conSetAttr(int minor, const struct termios *t)
{
int baud;
- switch (t->c_cflag & CBAUD)
- {
- case B50:
- baud = 50;
- break;
- case B75:
- baud = 75;
- break;
- case B110:
- baud = 110;
- break;
- case B134:
- baud = 134;
- break;
- case B150:
- baud = 150;
- break;
- case B200:
- baud = 200;
- break;
- case B300:
- baud = 300;
- break;
- case B600:
- baud = 600;
- break;
- case B1200:
- baud = 1200;
- break;
- case B1800:
- baud = 1800;
- break;
- case B2400:
- baud = 2400;
- break;
- case B4800:
- baud = 4800;
- break;
- case B9600:
- baud = 9600;
- break;
- case B19200:
- baud = 19200;
- break;
- case B38400:
- baud = 38400;
- break;
- case B57600:
- baud = 57600;
- break;
- case B115200:
- baud = 115200;
- break;
- default:
- baud = 0;
- rtems_fatal_error_occurred (RTEMS_INTERNAL_ERROR);
- return 0;
- }
+ baud = termios_baud_to_number(t->c_cflag & CBAUD);
+ if ( baud > 115200 )
+ rtems_fatal_error_occurred (RTEMS_INTERNAL_ERROR);
BSP_uart_set_baud(BSPConsolePort, baud);