From 61bbf9194ff4bdbc1b48e6ac9919c02b358e5701 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 26 Jan 2016 07:17:27 +0100 Subject: drvmgr: Move bsp_driver_level_hook() calls --- cpukit/libdrvmgr/drvmgr.c | 13 +++++++------ 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) -- cgit v1.2.3