diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-01-26 07:17:27 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-01-26 11:42:04 +0100 |
commit | 61bbf9194ff4bdbc1b48e6ac9919c02b358e5701 (patch) | |
tree | 60a695a0b95056e348e35dd979152277d1de705f | |
parent | drvmgr: Remove dupl bsp_driver_level_hook() decl (diff) | |
download | rtems-61bbf9194ff4bdbc1b48e6ac9919c02b358e5701.tar.bz2 |
drvmgr: Move bsp_driver_level_hook() calls
-rw-r--r-- | cpukit/libdrvmgr/drvmgr.c | 13 | ||||
-rw-r--r-- | cpukit/sapi/src/exinit.c | 4 |
2 files changed, 7 insertions, 10 deletions
diff --git a/cpukit/libdrvmgr/drvmgr.c b/cpukit/libdrvmgr/drvmgr.c index 7c37afd808..66d6cfa0e7 100644 --- a/cpukit/libdrvmgr/drvmgr.c +++ b/cpukit/libdrvmgr/drvmgr.c @@ -68,14 +68,15 @@ void _DRV_Manager_init_level(int level) { struct drvmgr *mgr = &drvmgr; - if (mgr->level >= level) - return; + if (mgr->level < level) { + /* Set new Level */ + mgr->level = level; - /* Set new Level */ - mgr->level = level; + /* Initialize buses and devices into this new level */ + drvmgr_init_update(); + } - /* 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 diff --git a/cpukit/sapi/src/exinit.c b/cpukit/sapi/src/exinit.c index 1eaf24f4d3..13154ce4e4 100644 --- a/cpukit/sapi/src/exinit.c +++ b/cpukit/sapi/src/exinit.c @@ -190,7 +190,6 @@ static void rtems_initialize_device_drivers(void) * - Install extra memory. */ _DRV_Manager_init_level(1); - bsp_driver_level_hook(1); #endif /* Initialize I/O drivers. @@ -211,7 +210,6 @@ static void rtems_initialize_device_drivers(void) * for the first time. */ _DRV_Manager_init_level(2); - bsp_driver_level_hook(2); /* Init Drivers to Level 3 * @@ -220,13 +218,11 @@ static void rtems_initialize_device_drivers(void) * API inited in level 2 */ _DRV_Manager_init_level(3); - bsp_driver_level_hook(3); /* Init Drivers to Level 4, * Init drivers that depend on services initialized in Level 3 */ _DRV_Manager_init_level(4); - bsp_driver_level_hook(4); #endif #if defined(RTEMS_MULTIPROCESSING) |