diff options
author | Daniel Hellstrom <daniel@gaisler.com> | 2019-09-12 14:48:29 +0200 |
---|---|---|
committer | Daniel Hellstrom <daniel@gaisler.com> | 2021-03-07 16:08:25 +0100 |
commit | 0ed294b6cce8f1cb123327f32eb8fdc973d7f4a7 (patch) | |
tree | 1b31de9db3b2fdcbbd9c9c8857d9f54562bfb819 | |
parent | leon,greth: added support for variable sized descriptor table sizes (diff) | |
download | rtems-0ed294b6cce8f1cb123327f32eb8fdc973d7f4a7.tar.bz2 |
leon3: avoid dependency on apbuart/timer driver
Moves drvmgr_drivers[] from amba.c to a separate file in order
to avoid the dependecy on APBUART/GPTIMER drivers. This has
an effect when user configured not to use timer or uart
in their project.
Update #4309.
-rw-r--r-- | bsps/sparc/leon3/start/amba.c | 12 | ||||
-rw-r--r-- | bsps/sparc/leon3/start/drvmgr_def_drivers.c | 28 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/leon3/Makefile.am | 1 |
3 files changed, 29 insertions, 12 deletions
diff --git a/bsps/sparc/leon3/start/amba.c b/bsps/sparc/leon3/start/amba.c index e7ff29808c..1de206139f 100644 --- a/bsps/sparc/leon3/start/amba.c +++ b/bsps/sparc/leon3/start/amba.c @@ -34,18 +34,6 @@ struct ambapp_bus ambapp_plb; #include <drvmgr/drvmgr.h> #include <grlib/ambapp_bus_grlib.h> -extern void gptimer_register_drv (void); -extern void apbuart_cons_register_drv(void); -/* All drivers included by BSP, this is overridden by the user by including - * the drvmgr_confdefs.h. By default the Timer and UART driver are included. - */ -drvmgr_drv_reg_func drvmgr_drivers[] __attribute__((weak)) = -{ - gptimer_register_drv, - apbuart_cons_register_drv, - NULL /* End array with NULL */ -}; - /* Driver resources configuration for AMBA root bus. It is declared weak * so that the user may override it, if the defualt settings are not * enough. diff --git a/bsps/sparc/leon3/start/drvmgr_def_drivers.c b/bsps/sparc/leon3/start/drvmgr_def_drivers.c new file mode 100644 index 0000000000..688b37bab9 --- /dev/null +++ b/bsps/sparc/leon3/start/drvmgr_def_drivers.c @@ -0,0 +1,28 @@ +/* + * Default BSP drivers when Driver Manager enabled + * + * COPYRIGHT (c) 2019. + * Cobham 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> + +#ifdef RTEMS_DRVMGR_STARTUP +#include <drvmgr/drvmgr.h> + +extern void gptimer_register_drv (void); +extern void apbuart_cons_register_drv(void); +/* All drivers included by BSP, this is overridden by the user by including + * the drvmgr_confdefs.h. By default the Timer and UART driver are included. + */ +drvmgr_drv_reg_func drvmgr_drivers[] __attribute__((weak)) = +{ + gptimer_register_drv, + apbuart_cons_register_drv, + NULL /* End array with NULL */ +}; + +#endif diff --git a/c/src/lib/libbsp/sparc/leon3/Makefile.am b/c/src/lib/libbsp/sparc/leon3/Makefile.am index 7933a48024..beb1b96767 100644 --- a/c/src/lib/libbsp/sparc/leon3/Makefile.am +++ b/c/src/lib/libbsp/sparc/leon3/Makefile.am @@ -38,6 +38,7 @@ librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspreset-empty.c librtemsbsp_a_SOURCES += ../../../../../../bsps/sparc/leon3/start/cpucounter.c librtemsbsp_a_SOURCES += ../../../../../../bsps/sparc/shared/start/bsp_fatal_exit.c librtemsbsp_a_SOURCES += ../../../../../../bsps/sparc/leon3/start/bsp_fatal_halt.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/sparc/leon3/start/drvmgr_def_drivers.c # gnatsupp librtemsbsp_a_SOURCES += ../../../../../../bsps/sparc/leon3/gnatsupp/gnatsupp.c |