summaryrefslogtreecommitdiffstats
path: root/c/src
diff options
context:
space:
mode:
authorTill Straumann <strauman@slac.stanford.edu>2008-11-03 21:08:49 +0000
committerTill Straumann <strauman@slac.stanford.edu>2008-11-03 21:08:49 +0000
commitfadb4a76b91b5d6859963b7e9d87da39fcedcd55 (patch)
tree70c7cf4ecb1e10a1a273f09436355b4264e62a99 /c/src
parent2008-11-03 Till Straumann <strauman@slac.stanford.edu> (diff)
downloadrtems-fadb4a76b91b5d6859963b7e9d87da39fcedcd55.tar.bz2
2008-11-03 Till Straumann <strauman@slac.stanford.edu>
PR 1332: call BSP_uart_termios_set()/BSP_uart_intr_ctrl() only from 'firstOpen' and only if this is a serial console.
Diffstat (limited to 'c/src')
-rw-r--r--c/src/lib/libbsp/powerpc/ChangeLog5
-rw-r--r--c/src/lib/libbsp/powerpc/shared/console/console.c17
2 files changed, 14 insertions, 8 deletions
diff --git a/c/src/lib/libbsp/powerpc/ChangeLog b/c/src/lib/libbsp/powerpc/ChangeLog
index 5c9b68537e..a52b47a6ec 100644
--- a/c/src/lib/libbsp/powerpc/ChangeLog
+++ b/c/src/lib/libbsp/powerpc/ChangeLog
@@ -1,5 +1,10 @@
2008-11-03 Till Straumann <strauman@slac.stanford.edu>
+ PR 1332: call BSP_uart_termios_set()/BSP_uart_intr_ctrl()
+ only from 'firstOpen' and only if this is a serial console.
+
+2008-11-03 Till Straumann <strauman@slac.stanford.edu>
+
* shared/startup/linkcmds: increased size of CODE memory
area.
diff --git a/c/src/lib/libbsp/powerpc/shared/console/console.c b/c/src/lib/libbsp/powerpc/shared/console/console.c
index ab05e9e98a..544feaef70 100644
--- a/c/src/lib/libbsp/powerpc/shared/console/console.c
+++ b/c/src/lib/libbsp/powerpc/shared/console/console.c
@@ -167,6 +167,15 @@ static int console_first_open(int major, int minor, void *arg)
ttyS[minor].name);
rtems_fatal_error_occurred(status);
}
+
+ /*
+ * Pass data area info down to driver
+ */
+ BSP_uart_termios_set(minor, ((rtems_libio_open_close_args_t *)arg)->iop->data1);
+
+ /* Enable interrupts on channel */
+ BSP_uart_intr_ctrl(minor, BSP_UART_INTR_CTRL_TERMIOS);
+
return 0;
}
@@ -222,14 +231,6 @@ rtems_device_driver console_open(
return status;
}
- /*
- * Pass data area info down to driver
- */
- BSP_uart_termios_set(minor,
- ((rtems_libio_open_close_args_t *)arg)->iop->data1);
- /* Enable interrupts on channel */
- BSP_uart_intr_ctrl(minor, BSP_UART_INTR_CTRL_TERMIOS);
-
return RTEMS_SUCCESSFUL;
}