summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Hellstrom <daniel@gaisler.com>2017-02-01 10:48:38 +0100
committerDaniel Hellstrom <daniel@gaisler.com>2017-03-06 07:54:55 +0100
commit418149c80ba181ace889fd279b91c6734181d623 (patch)
tree46aaa2faeb7d2085715fe3296a063f4e21a120d7
parentleon, grspw_pkt: Added checks for special list cases (diff)
downloadrtems-418149c80ba181ace889fd279b91c6734181d623.tar.bz2
libdrvmgr: added default BSP init level hook
-rw-r--r--cpukit/libdrvmgr/drvmgr.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/cpukit/libdrvmgr/drvmgr.c b/cpukit/libdrvmgr/drvmgr.c
index 03af3900c3..0771c3576c 100644
--- a/cpukit/libdrvmgr/drvmgr.c
+++ b/cpukit/libdrvmgr/drvmgr.c
@@ -66,6 +66,13 @@ static int do_dev_init(
/* DRIVER MANAGER */
+void bsp_driver_level_hook(int level) __attribute__((weak));
+
+/* default hook does nothing, BSP may override. */
+void bsp_driver_level_hook(int level)
+{
+}
+
void _DRV_Manager_init_level(int level)
{
struct drvmgr *mgr = &drvmgr;
@@ -78,6 +85,8 @@ void _DRV_Manager_init_level(int level)
/* Initialize buses and devices into this new level */
drvmgr_init_update();
+
+ bsp_driver_level_hook(level);
}
/* Initialize Data structures of the driver manager and call driver