summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc/leon3
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-04-17 06:57:46 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-04-20 09:49:36 +0200
commitc4ccf26cb7808786e15312b41c3055b2da75203b (patch)
treef25c7d75c2543e447847e84d978db3d23a433418 /c/src/lib/libbsp/sparc/leon3
parentbsp/motorola_powerpc: Move bspstart.c to bsps (diff)
downloadrtems-c4ccf26cb7808786e15312b41c3055b2da75203b.tar.bz2
bsps: Convert all bsp_predriver_hook()
Use RTEMS_SYSINIT_ITEM() instead. Update #2408.
Diffstat (limited to 'c/src/lib/libbsp/sparc/leon3')
-rw-r--r--c/src/lib/libbsp/sparc/leon3/Makefile.am1
-rw-r--r--c/src/lib/libbsp/sparc/leon3/startup/bsppredriver.c56
-rw-r--r--c/src/lib/libbsp/sparc/leon3/startup/bspstart.c43
3 files changed, 43 insertions, 57 deletions
diff --git a/c/src/lib/libbsp/sparc/leon3/Makefile.am b/c/src/lib/libbsp/sparc/leon3/Makefile.am
index 2f8c294b57..27c1a96144 100644
--- a/c/src/lib/libbsp/sparc/leon3/Makefile.am
+++ b/c/src/lib/libbsp/sparc/leon3/Makefile.am
@@ -28,7 +28,6 @@ librtemsbsp_a_SOURCES =
librtemsbsp_a_SOURCES += startup/bspclean.c
librtemsbsp_a_SOURCES += startup/bspstart.c
librtemsbsp_a_SOURCES += ../../shared/getentropy-cpucounter.c
-librtemsbsp_a_SOURCES += startup/bsppredriver.c
librtemsbsp_a_SOURCES += ../shared/startup/bspgetworkarea.c
librtemsbsp_a_SOURCES += ../../shared/sbrk.c
librtemsbsp_a_SOURCES += startup/setvec.c
diff --git a/c/src/lib/libbsp/sparc/leon3/startup/bsppredriver.c b/c/src/lib/libbsp/sparc/leon3/startup/bsppredriver.c
deleted file mode 100644
index ba35624d33..0000000000
--- a/c/src/lib/libbsp/sparc/leon3/startup/bsppredriver.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * @file
- * @ingroup sparc_leon3
- * @brief Installs the BSP pre-driver hook
- */
-
-/*
- * COPYRIGHT (c) 2011
- * Aeroflex Gaisler
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <bsp.h>
-#include <bsp/bootcard.h>
-
-#include <drvmgr/drvmgr.h>
-
-#include <rtems/sysinit.h>
-
-static void leon3_interrupt_common_init( void )
-{
- /* Initialize shared interrupt handling, must be done after IRQ
- * controller has been found and initialized.
- */
- BSP_shared_interrupt_init();
-}
-
-/*
- * bsp_predriver_hook
- *
- * BSP predriver hook. Called just before drivers are initialized.
- * Is used to initialize shared interrupt handling.
- */
-void bsp_predriver_hook( void )
-{
- bsp_spurious_initialize();
-
-#ifndef RTEMS_DRVMGR_STARTUP
- leon3_interrupt_common_init();
-#endif
-}
-
-#ifdef RTEMS_DRVMGR_STARTUP
-/*
- * Initialize shared interrupt handling, must be done after IRQ controller has
- * been found and initialized.
- */
-RTEMS_SYSINIT_ITEM(
- leon3_interrupt_common_init,
- RTEMS_SYSINIT_DRVMGR_LEVEL_1,
- RTEMS_SYSINIT_ORDER_LAST
-);
-#endif
diff --git a/c/src/lib/libbsp/sparc/leon3/startup/bspstart.c b/c/src/lib/libbsp/sparc/leon3/startup/bspstart.c
index 6353ca3772..58fc7d0907 100644
--- a/c/src/lib/libbsp/sparc/leon3/startup/bspstart.c
+++ b/c/src/lib/libbsp/sparc/leon3/startup/bspstart.c
@@ -4,6 +4,9 @@
* The generic CPU dependent initialization has been performed
* before any of these are invoked.
*
+ * COPYRIGHT (c) 2011
+ * Aeroflex Gaisler
+ *
* COPYRIGHT (c) 1989-2013.
* On-Line Applications Research Corporation (OAR).
*
@@ -19,6 +22,7 @@
#include <bsp.h>
#include <leon.h>
#include <bsp/bootcard.h>
+#include <drvmgr/drvmgr.h>
#include <rtems/sysinit.h>
#if defined(RTEMS_SMP) || defined(RTEMS_MULTIPROCESSING)
@@ -80,3 +84,42 @@ RTEMS_SYSINIT_ITEM(
RTEMS_SYSINIT_BSP_START,
RTEMS_SYSINIT_ORDER_FIRST
);
+
+static void leon3_interrupt_common_init( void )
+{
+ /* Initialize shared interrupt handling, must be done after IRQ
+ * controller has been found and initialized.
+ */
+ BSP_shared_interrupt_init();
+}
+
+/*
+ * Called just before drivers are initialized. Is used to initialize shared
+ * interrupt handling.
+ */
+static void leon3_pre_driver_hook( void )
+{
+ bsp_spurious_initialize();
+
+#ifndef RTEMS_DRVMGR_STARTUP
+ leon3_interrupt_common_init();
+#endif
+}
+
+RTEMS_SYSINIT_ITEM(
+ leon3_pre_driver_hook,
+ RTEMS_SYSINIT_BSP_PRE_DRIVERS,
+ RTEMS_SYSINIT_ORDER_MIDDLE
+);
+
+#ifdef RTEMS_DRVMGR_STARTUP
+/*
+ * Initialize shared interrupt handling, must be done after IRQ controller has
+ * been found and initialized.
+ */
+RTEMS_SYSINIT_ITEM(
+ leon3_interrupt_common_init,
+ RTEMS_SYSINIT_DRVMGR_LEVEL_1,
+ RTEMS_SYSINIT_ORDER_LAST
+);
+#endif