summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-06-20 08:16:54 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-06-20 08:18:39 +0200
commit40b80d86ef1db07627ed83c1a00c521f9befddd8 (patch)
tree25ad8518ebf264c89f027547a87e661254d765be
parentbsp/leon3: Use sysinit for amba_initialize() (diff)
downloadrtems-40b80d86ef1db07627ed83c1a00c521f9befddd8.tar.bz2
bsp/leon3: Use sysinit for bsp_debug_uart_init()
-rw-r--r--c/src/lib/libbsp/sparc/leon3/console/printk_support.c9
-rw-r--r--c/src/lib/libbsp/sparc/leon3/include/leon.h2
-rw-r--r--c/src/lib/libbsp/sparc/leon3/startup/bspstart.c4
3 files changed, 8 insertions, 7 deletions
diff --git a/c/src/lib/libbsp/sparc/leon3/console/printk_support.c b/c/src/lib/libbsp/sparc/leon3/console/printk_support.c
index 7b8d3439cb..1af0efd94f 100644
--- a/c/src/lib/libbsp/sparc/leon3/console/printk_support.c
+++ b/c/src/lib/libbsp/sparc/leon3/console/printk_support.c
@@ -18,6 +18,7 @@
#include <bsp.h>
#include <leon.h>
#include <rtems/libio.h>
+#include <rtems/sysinit.h>
#include <stdlib.h>
#include <assert.h>
#include <stdio.h>
@@ -38,7 +39,7 @@ static int pre_printk_pos = 0;
/* Initialize the BSP system debug console layer. It will scan AMBA Plu&Play
* for a debug APBUART and enable RX/TX for that UART.
*/
-void bsp_debug_uart_init(void)
+static void bsp_debug_uart_init(void)
{
int i;
struct ambapp_dev *adev;
@@ -76,6 +77,12 @@ void bsp_debug_uart_init(void)
}
}
+RTEMS_SYSINIT_ITEM(
+ bsp_debug_uart_init,
+ RTEMS_SYSINIT_BSP_START,
+ RTEMS_SYSINIT_ORDER_THIRD
+);
+
/* putchar/getchar for printk */
static void bsp_out_char(char c)
{
diff --git a/c/src/lib/libbsp/sparc/leon3/include/leon.h b/c/src/lib/libbsp/sparc/leon3/include/leon.h
index bbf94d90b3..ba0673fa75 100644
--- a/c/src/lib/libbsp/sparc/leon3/include/leon.h
+++ b/c/src/lib/libbsp/sparc/leon3/include/leon.h
@@ -392,8 +392,6 @@ void leon3_cpu_counter_initialize(void);
/* GRLIB extended IRQ controller register */
void leon3_ext_irq_init(void);
-void bsp_debug_uart_init(void);
-
void leon3_power_down_loop(void) RTEMS_NO_RETURN;
static inline uint32_t leon3_get_cpu_count(
diff --git a/c/src/lib/libbsp/sparc/leon3/startup/bspstart.c b/c/src/lib/libbsp/sparc/leon3/startup/bspstart.c
index a49afd2266..ec041f182d 100644
--- a/c/src/lib/libbsp/sparc/leon3/startup/bspstart.c
+++ b/c/src/lib/libbsp/sparc/leon3/startup/bspstart.c
@@ -18,7 +18,6 @@
#include <bsp.h>
#include <leon.h>
-#include <rtems/bspIo.h>
#include <bsp/bootcard.h>
#if defined(RTEMS_SMP) || defined(RTEMS_MULTIPROCESSING)
@@ -67,7 +66,4 @@ void bsp_start( void )
LEON3_Cpu_Index = _LEON3_Get_current_processor();
leon3_cpu_counter_initialize();
-
- /* find debug UART for printk() */
- bsp_debug_uart_init();
}