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. --- bsps/sparc/leon3/start/amba.c | 12 ------------ bsps/sparc/leon3/start/drvmgr_def_drivers.c | 28 ++++++++++++++++++++++++++++ c/src/lib/libbsp/sparc/leon3/Makefile.am | 1 + 3 files changed, 29 insertions(+), 12 deletions(-) create mode 100644 bsps/sparc/leon3/start/drvmgr_def_drivers.c
diff --git a/bsps/sparc/leon3/start/amba.c b/bsps/sparc/leon3/start/amba.c index e7ff298..1de2061 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 0000000..688b37b --- /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 7933a48..beb1b96 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 -- 2.7.4 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel