[rtems commit] bsp/genmcf548x: Fix printk() support
Sebastian Huber
sebh at rtems.org
Wed Mar 7 12:04:35 UTC 2018
Module: rtems
Branch: master
Commit: befae6ab989116101ef7e286d8044857db1c797c
Changeset: http://git.rtems.org/rtems/commit/?id=befae6ab989116101ef7e286d8044857db1c797c
Author: Sebastian Huber <sebastian.huber at embedded-brains.de>
Date: Wed Mar 7 10:32:42 2018 +0100
bsp/genmcf548x: Fix printk() support
---
c/src/lib/libbsp/m68k/genmcf548x/console/console.c | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/c/src/lib/libbsp/m68k/genmcf548x/console/console.c b/c/src/lib/libbsp/m68k/genmcf548x/console/console.c
index d22cfe6..32e5601 100644
--- a/c/src/lib/libbsp/m68k/genmcf548x/console/console.c
+++ b/c/src/lib/libbsp/m68k/genmcf548x/console/console.c
@@ -71,11 +71,12 @@
static ssize_t IntUartPollWrite(int minor, const char *buf, size_t len);
static int IntUartPollRead (int minor);
+static int IntUartSetAttributes(int minor, const struct termios *t);
static void
-_BSP_null_char( char c )
+psc_output_char( char c )
{
- int level;
+ rtems_interrupt_level level;
rtems_interrupt_disable(level);
while (!((MCF548X_PSC_SR(CONSOLE_PORT) & MCF548X_PSC_SR_TXRDY)))
@@ -85,7 +86,17 @@ _BSP_null_char( char c )
continue;
rtems_interrupt_enable(level);
}
-BSP_output_char_function_type BSP_output_char = _BSP_null_char;
+
+static void
+psc_output_char_init(char c)
+{
+ IntUartSetAttributes(CONSOLE_PORT, NULL);
+ BSP_output_char = psc_output_char;
+ psc_output_char(c);
+}
+
+BSP_output_char_function_type BSP_output_char = psc_output_char_init;
+
BSP_polling_getchar_function_type BSP_poll_char = NULL;
#define MAX_UART_INFO 4
@@ -485,7 +496,7 @@ IntUartInitialize(void)
bsp_interrupt_vector_enable(MCF548X_IRQ_PSC(chan));
} /* of chan loop */
-
+ BSP_output_char = psc_output_char;
} /* IntUartInitialise */
/***************************************************************************
More information about the vc
mailing list