diff --git a/app/Kconfig b/app/Kconfig index d83561b7..f4a316b4 100644 --- a/app/Kconfig +++ b/app/Kconfig @@ -263,11 +263,8 @@ config ZMK_SLEEP if ZMK_SLEEP -config SYS_POWER_DEEP_SLEEP_STATES - default y - choice SYS_PM_POLICY - default SYS_PM_POLICY_APP + default PM_POLICY_APP endchoice config DEVICE_POWER_MANAGEMENT diff --git a/app/src/power.c b/app/src/power.c index 4af18cf4..47ef3a3b 100644 --- a/app/src/power.c +++ b/app/src/power.c @@ -23,18 +23,12 @@ bool is_usb_power_present() { #endif /* CONFIG_USB */ } -enum power_states sys_pm_policy_next_state(int32_t ticks) { -#ifdef CONFIG_SYS_POWER_DEEP_SLEEP_STATES -#ifdef CONFIG_HAS_SYS_POWER_STATE_DEEP_SLEEP_1 +struct pm_state_info pm_policy_next_state(int32_t ticks) { if (zmk_activity_get_state() == ZMK_ACTIVITY_SLEEP && !is_usb_power_present()) { - return SYS_POWER_STATE_DEEP_SLEEP_1; + return (struct pm_state_info){PM_STATE_SOFT_OFF, 0, 0}; } -#endif /* CONFIG_HAS_SYS_POWER_STATE_DEEP_SLEEP_1 */ -#endif /* CONFIG_SYS_POWER_DEEP_SLEEP_STATES */ - return SYS_POWER_STATE_ACTIVE; + return (struct pm_state_info){PM_STATE_ACTIVE, 0, 0}; } -bool sys_pm_policy_low_power_devices(enum power_states pm_state) { - return sys_pm_is_sleep_state(pm_state); -} \ No newline at end of file +__weak bool pm_policy_low_power_devices(enum pm_state state) { return pm_is_sleep_state(state); }