summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRalf Kirchner <ralf.kirchner@embedded-brains.de>2014-05-12 15:21:52 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2014-05-12 15:57:50 +0200
commitc8b7b32329bdb47240f671b43b4138a42f087953 (patch)
tree06e4d114ee8f2f0ec9be34f50261370995bb15e0
parentscore: Move out of __RTEMS_HAVE_SYS_CPUSET_H__ (diff)
downloadrtems-c8b7b32329bdb47240f671b43b4138a42f087953.tar.bz2
bsp/altera-caclone-v: Early printk support
Make sure printk can work early during BSP startup.
-rw-r--r--c/src/lib/libbsp/arm/altera-cyclone-v/console/console-config.c28
1 files changed, 4 insertions, 24 deletions
diff --git a/c/src/lib/libbsp/arm/altera-cyclone-v/console/console-config.c b/c/src/lib/libbsp/arm/altera-cyclone-v/console/console-config.c
index 32c551adf2..d8d99c46d6 100644
--- a/c/src/lib/libbsp/arm/altera-cyclone-v/console/console-config.c
+++ b/c/src/lib/libbsp/arm/altera-cyclone-v/console/console-config.c
@@ -87,7 +87,6 @@ console_tbl Console_Configuration_Ports[] = {
#endif
};
-
unsigned long Console_Configuration_Count =
RTEMS_ARRAY_SIZE(Console_Configuration_Ports);
@@ -161,35 +160,16 @@ bool altera_cyclone_v_uart_probe(int minor)
static void output_char(char c)
{
int minor = (int) Console_Port_Minor;
- const console_tbl *ct = Console_Port_Tbl != NULL ?
+ console_tbl *ct = Console_Port_Tbl != NULL ?
Console_Port_Tbl[minor] : &Console_Configuration_Ports[minor];
- const console_fns *cf = ct->pDeviceFns;
if (c == '\n') {
- (*cf->deviceWritePolled)(minor, '\r');
- }
-
- (*cf->deviceWritePolled)(minor, c);
-}
-
-static void output_char_init(char c)
-{
- if (Console_Port_Tbl == NULL) {
- int minor;
- const console_fns *cf;
-
- bsp_console_select();
-
- minor = (int) Console_Port_Minor;
- cf = Console_Configuration_Ports[minor].pDeviceFns;
-
- (*cf->deviceInitialize)(minor);
+ ns16550_outch_polled( ct, '\r' );
}
- BSP_output_char = output_char;
- output_char(c);
+ ns16550_outch_polled( ct, c );
}
-BSP_output_char_function_type BSP_output_char = output_char_init;
+BSP_output_char_function_type BSP_output_char = output_char;
BSP_polling_getchar_function_type BSP_poll_char = NULL;