diff --git a/arch/arm/src/nrf52/nrf52_pminitialize.c b/arch/arm/src/nrf52/nrf52_pminitialize.c index 08246d0cdc..02388aa9ab 100644 --- a/arch/arm/src/nrf52/nrf52_pminitialize.c +++ b/arch/arm/src/nrf52/nrf52_pminitialize.c @@ -23,6 +23,7 @@ ****************************************************************************/ #include +#include #include "arm_internal.h" @@ -50,4 +51,7 @@ void arm_pminitialize(void) { + /* Initialize the NuttX power management subsystem proper */ + + pm_initialize(); } diff --git a/arch/arm/src/s32k1xx/s32k1xx_pminitialize.c b/arch/arm/src/s32k1xx/s32k1xx_pminitialize.c index 173bb524a6..99278d24e5 100644 --- a/arch/arm/src/s32k1xx/s32k1xx_pminitialize.c +++ b/arch/arm/src/s32k1xx/s32k1xx_pminitialize.c @@ -23,6 +23,7 @@ ****************************************************************************/ #include +#include #include "arm_internal.h" @@ -52,6 +53,9 @@ void arm_pminitialize(void) { + /* Initialize the NuttX power management subsystem proper */ + + pm_initialize(); } #endif /* CONFIG_PM */ diff --git a/arch/arm/src/stm32/stm32_pminitialize.c b/arch/arm/src/stm32/stm32_pminitialize.c index 2e46ab7bd7..93be5677a4 100644 --- a/arch/arm/src/stm32/stm32_pminitialize.c +++ b/arch/arm/src/stm32/stm32_pminitialize.c @@ -23,6 +23,7 @@ ****************************************************************************/ #include +#include #include "arm_internal.h" #include "stm32_pm.h" @@ -53,6 +54,9 @@ void arm_pminitialize(void) { + /* Initialize the NuttX power management subsystem proper */ + + pm_initialize(); } #endif /* CONFIG_PM */ diff --git a/arch/arm/src/stm32f7/stm32_pminitialize.c b/arch/arm/src/stm32f7/stm32_pminitialize.c index 90d44f1a38..ac9bd0dc58 100644 --- a/arch/arm/src/stm32f7/stm32_pminitialize.c +++ b/arch/arm/src/stm32f7/stm32_pminitialize.c @@ -23,6 +23,7 @@ ****************************************************************************/ #include +#include #include "arm_internal.h" #include "stm32_pm.h" @@ -53,6 +54,9 @@ void arm_pminitialize(void) { + /* Initialize the NuttX power management subsystem proper */ + + pm_initialize(); } #endif /* CONFIG_PM */ diff --git a/arch/arm/src/stm32h7/stm32_pminitialize.c b/arch/arm/src/stm32h7/stm32_pminitialize.c index b0a8b110ca..a457e72a0b 100644 --- a/arch/arm/src/stm32h7/stm32_pminitialize.c +++ b/arch/arm/src/stm32h7/stm32_pminitialize.c @@ -23,6 +23,7 @@ ****************************************************************************/ #include +#include #include "arm_internal.h" #include "stm32_pm.h" @@ -53,6 +54,9 @@ void arm_pminitialize(void) { + /* Initialize the NuttX power management subsystem proper */ + + pm_initialize(); } #endif /* CONFIG_PM */ diff --git a/arch/arm/src/stm32l4/stm32l4_pminitialize.c b/arch/arm/src/stm32l4/stm32l4_pminitialize.c index 77d78f7e73..84ac58717c 100644 --- a/arch/arm/src/stm32l4/stm32l4_pminitialize.c +++ b/arch/arm/src/stm32l4/stm32l4_pminitialize.c @@ -23,6 +23,7 @@ ****************************************************************************/ #include +#include #include "arm_internal.h" #include "stm32l4_pm.h" @@ -53,6 +54,9 @@ void arm_pminitialize(void) { + /* Initialize the NuttX power management subsystem proper */ + + pm_initialize(); } #endif /* CONFIG_PM */ diff --git a/arch/ceva/src/common/up_idle.c b/arch/ceva/src/common/up_idle.c index 21f65e1141..16d4d8a7e6 100644 --- a/arch/ceva/src/common/up_idle.c +++ b/arch/ceva/src/common/up_idle.c @@ -163,5 +163,8 @@ void weak_function up_cpu_normal(void) #ifdef CONFIG_PM void up_pminitialize(void) { + /* Initialize the NuttX power management subsystem proper */ + + pm_initialize(); } #endif diff --git a/arch/risc-v/src/esp32c3/esp32c3_pminitialize.c b/arch/risc-v/src/esp32c3/esp32c3_pminitialize.c index ee25f78114..68fffcb8bb 100644 --- a/arch/risc-v/src/esp32c3/esp32c3_pminitialize.c +++ b/arch/risc-v/src/esp32c3/esp32c3_pminitialize.c @@ -23,6 +23,7 @@ ****************************************************************************/ #include +#include #include "esp32c3_pm.h" @@ -33,7 +34,7 @@ ****************************************************************************/ /**************************************************************************** - * Name: xtensa_pminitialize + * Name: riscv_pminitialize * * Description: * Initialize the power management subsystem. @@ -42,6 +43,9 @@ void riscv_pminitialize(void) { + /* Initialize the NuttX power management subsystem proper */ + + pm_initialize(); } #endif /* CONFIG_PM */ diff --git a/arch/sim/src/sim/up_initialize.c b/arch/sim/src/sim/up_initialize.c index 55db76c153..6255df8bd0 100644 --- a/arch/sim/src/sim/up_initialize.c +++ b/arch/sim/src/sim/up_initialize.c @@ -27,6 +27,7 @@ #include #include #include +#include #include #include @@ -215,6 +216,16 @@ static int up_loop_task(int argc, char **argv) void up_initialize(void) { +#ifdef CONFIG_PM + /* Initialize the power management subsystem. This MCU-specific function + * must be called *very* early in the initialization sequence *before* any + * other device drivers are initialized (since they may attempt to register + * with the power management subsystem). + */ + + pm_initialize(); +#endif + /* Register some tty-port to access tty-port on sim platform */ up_uartinit(); diff --git a/arch/xtensa/src/esp32/esp32_pminitialize.c b/arch/xtensa/src/esp32/esp32_pminitialize.c index 7b04937e47..ab83241c1f 100644 --- a/arch/xtensa/src/esp32/esp32_pminitialize.c +++ b/arch/xtensa/src/esp32/esp32_pminitialize.c @@ -23,6 +23,7 @@ ****************************************************************************/ #include +#include #include "xtensa.h" #include "esp32_pm.h" @@ -43,6 +44,10 @@ void xtensa_pminitialize(void) { + /* Initialize the NuttX power management subsystem proper */ + + pm_initialize(); + /* Initialize RTC parameters */ esp32_pminit(); diff --git a/boards/arm/stm32/mikroe-stm32f4/src/stm32_pm.c b/boards/arm/stm32/mikroe-stm32f4/src/stm32_pm.c index 3606f2b5d2..d242f5e858 100644 --- a/boards/arm/stm32/mikroe-stm32f4/src/stm32_pm.c +++ b/boards/arm/stm32/mikroe-stm32f4/src/stm32_pm.c @@ -23,6 +23,7 @@ ****************************************************************************/ #include +#include #include "arm_internal.h" #include "stm32_pm.h" @@ -54,6 +55,10 @@ void arm_pminitialize(void) { + /* Initialize the NuttX power management subsystem proper */ + + pm_initialize(); + #if defined(CONFIG_ARCH_IDLE_CUSTOM) && defined(CONFIG_PM_BUTTONS) /* Initialize the buttons to wake up the system from low power modes */ diff --git a/boards/arm/stm32/omnibusf4/src/stm32_pm.c b/boards/arm/stm32/omnibusf4/src/stm32_pm.c index 2d6e8ef2a3..10a30accee 100644 --- a/boards/arm/stm32/omnibusf4/src/stm32_pm.c +++ b/boards/arm/stm32/omnibusf4/src/stm32_pm.c @@ -23,6 +23,7 @@ ****************************************************************************/ #include +#include #include "arm_internal.h" #include "stm32_pm.h" @@ -54,6 +55,10 @@ void arm_pminitialize(void) { + /* Initialize the NuttX power management subsystem proper */ + + pm_initialize(); + #if defined(CONFIG_ARCH_IDLE_CUSTOM) && defined(CONFIG_PM_BUTTONS) /* Initialize the buttons to wake up the system from low power modes */ diff --git a/boards/arm/stm32/stm3210e-eval/src/stm32_pm.c b/boards/arm/stm32/stm3210e-eval/src/stm32_pm.c index e01ff24d0a..f99da35747 100644 --- a/boards/arm/stm32/stm3210e-eval/src/stm32_pm.c +++ b/boards/arm/stm32/stm3210e-eval/src/stm32_pm.c @@ -23,6 +23,7 @@ ****************************************************************************/ #include +#include #include "arm_internal.h" #include "stm32_pm.h" @@ -54,6 +55,10 @@ void arm_pminitialize(void) { + /* Initialize the NuttX power management subsystem proper */ + + pm_initialize(); + #if defined(CONFIG_ARCH_IDLE_CUSTOM) && defined(CONFIG_PM_BUTTONS) /* Initialize the buttons to wake up the system from low power modes */ diff --git a/boards/arm/stm32/stm32f4discovery/src/stm32_pm.c b/boards/arm/stm32/stm32f4discovery/src/stm32_pm.c index 5e41b42a06..37a0235137 100644 --- a/boards/arm/stm32/stm32f4discovery/src/stm32_pm.c +++ b/boards/arm/stm32/stm32f4discovery/src/stm32_pm.c @@ -23,6 +23,7 @@ ****************************************************************************/ #include +#include #include "arm_internal.h" #include "stm32_pm.h" @@ -54,6 +55,10 @@ void arm_pminitialize(void) { + /* Initialize the NuttX power management subsystem proper */ + + pm_initialize(); + #if defined(CONFIG_ARCH_IDLE_CUSTOM) && defined(CONFIG_PM_BUTTONS) /* Initialize the buttons to wake up the system from low power modes */ diff --git a/drivers/drivers_initialize.c b/drivers/drivers_initialize.c index 3225c35ce3..bb62e23f88 100644 --- a/drivers/drivers_initialize.c +++ b/drivers/drivers_initialize.c @@ -54,12 +54,6 @@ void drivers_initialize(void) { -#ifdef CONFIG_PM - /* Initialize power management subsystem proper */ - - pm_initialize(); -#endif - /* Register devices */ syslog_initialize();