[rtems commit] bsp/leon3: Fix Termios context usage

Sebastian Huber sebh at rtems.org
Tue Oct 20 09:31:10 UTC 2015


Module:    rtems
Branch:    4.11
Commit:    9c96ea780ff0a85ad4916958d74e51ae6f26183f
Changeset: http://git.rtems.org/rtems/commit/?id=9c96ea780ff0a85ad4916958d74e51ae6f26183f

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Tue Oct 20 11:16:12 2015 +0200

bsp/leon3: Fix Termios context usage

Only the context of the console device was used and this is wrong in
case more than one APBUART device is available.

---

 c/src/lib/libbsp/sparc/leon3/console/console.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/c/src/lib/libbsp/sparc/leon3/console/console.c b/c/src/lib/libbsp/sparc/leon3/console/console.c
index ad6e32c..4713491 100644
--- a/c/src/lib/libbsp/sparc/leon3/console/console.c
+++ b/c/src/lib/libbsp/sparc/leon3/console/console.c
@@ -44,14 +44,9 @@ int syscon_uart_index __attribute__((weak)) = 0;
 static struct apbuart_context apbuarts[BSP_NUMBER_OF_TERMIOS_PORTS];
 static int uarts = 0;
 
-static rtems_termios_device_context *leon3_console_get_context(int minor)
+static rtems_termios_device_context *leon3_console_get_context(int index)
 {
-  struct apbuart_context *uart;
-
-  if (minor == 0)
-    uart = &apbuarts[syscon_uart_index];
-  else
-    uart = &apbuarts[minor - 1];
+  struct apbuart_context *uart = &apbuarts[index];
 
   rtems_termios_device_context_initialize(&uart->base, "APBUART");
 
@@ -159,7 +154,7 @@ rtems_device_driver console_initialize(
       minor,
       handler,
       NULL,
-      leon3_console_get_context(syscon_uart_index)
+      leon3_console_get_context(i)
     );
   }
 



More information about the vc mailing list