diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-04-17 06:57:46 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-04-20 09:49:36 +0200 |
commit | c4ccf26cb7808786e15312b41c3055b2da75203b (patch) | |
tree | f25c7d75c2543e447847e84d978db3d23a433418 /c/src/lib/libbsp/sparc/leon3 | |
parent | bsp/motorola_powerpc: Move bspstart.c to bsps (diff) | |
download | rtems-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.am | 1 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/leon3/startup/bsppredriver.c | 56 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/leon3/startup/bspstart.c | 43 |
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 |