diff --git a/arch/arm/core/aarch32/irq_manage.c b/arch/arm/core/aarch32/irq_manage.c index 4b688fec28c..1576c072088 100644 --- a/arch/arm/core/aarch32/irq_manage.c +++ b/arch/arm/core/aarch32/irq_manage.c @@ -27,6 +27,7 @@ #include #include #include +#include extern void z_arm_reserved(void); diff --git a/arch/posix/core/swap.c b/arch/posix/core/swap.c index 824b63fa4ff..5877e2ec870 100644 --- a/arch/posix/core/swap.c +++ b/arch/posix/core/swap.c @@ -18,6 +18,7 @@ #include "posix_core.h" #include "irq.h" #include "kswap.h" +#include int arch_swap(unsigned int key) { diff --git a/include/arch/x86/ia32/arch.h b/include/arch/x86/ia32/arch.h index 7dcc9b40a6d..a643fe91c8c 100644 --- a/include/arch/x86/ia32/arch.h +++ b/include/arch/x86/ia32/arch.h @@ -28,6 +28,7 @@ #include #include +#include #endif /* _ASMLANGUAGE */ @@ -234,12 +235,6 @@ typedef struct s_isrList { } #ifdef CONFIG_PM -/* - * FIXME: z_pm_save_idle_exit is defined in kernel.h, which cannot be - * included here due to circular dependency - */ -extern void z_pm_save_idle_exit(int32_t ticks); - static inline void arch_irq_direct_pm(void) { if (_kernel.idle) { diff --git a/include/kernel.h b/include/kernel.h index 8a3de2475df..378f1d8fea0 100644 --- a/include/kernel.h +++ b/include/kernel.h @@ -4939,8 +4939,6 @@ static inline void k_cpu_atomic_idle(unsigned int key) /** * @internal */ -extern void z_pm_save_idle_exit(int32_t ticks); - #ifdef ARCH_EXCEPT /* This architecture has direct support for triggering a CPU exception */ #define z_except_reason(reason) ARCH_EXCEPT(reason) diff --git a/include/power/power.h b/include/power/power.h index b09b435aeb9..56baafe033f 100644 --- a/include/power/power.h +++ b/include/power/power.h @@ -318,6 +318,8 @@ void pm_notify_power_state_exit(enum power_states state); * @} */ + +void z_pm_save_idle_exit(int32_t ticks); #endif /* CONFIG_PM */ #ifdef __cplusplus