Skip to content

Commit ef59d6c

Browse files
committed
fix(sleep): use pm_power_state_force for proper device power management
1 parent 09b3331 commit ef59d6c

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

app/src/activity.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,9 @@ void activity_work_handler(struct k_work *work) {
6868
int32_t inactive_time = current - activity_last_uptime;
6969
#if IS_ENABLED(CONFIG_ZMK_SLEEP)
7070
if (inactive_time > MAX_SLEEP_MS && !is_usb_power_present()) {
71-
// Put devices in low power mode before sleeping
71+
// Put devices in suspend power mode before sleeping
7272
set_state(ZMK_ACTIVITY_SLEEP);
73-
pm_power_state_set((struct pm_state_info){PM_STATE_SOFT_OFF, 0, 0});
73+
pm_power_state_force(0U, (struct pm_state_info){PM_STATE_SOFT_OFF, 0, 0});
7474
} else
7575
#endif /* IS_ENABLED(CONFIG_ZMK_SLEEP) */
7676
if (inactive_time > MAX_IDLE_MS) {

app/src/ext_power_generic.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -176,10 +176,10 @@ static int ext_power_generic_init(const struct device *dev) {
176176
#ifdef CONFIG_PM_DEVICE
177177
static int ext_power_generic_pm_action(const struct device *dev, enum pm_device_action action) {
178178
switch (action) {
179-
case PM_DEVICE_ACTION_TURN_ON:
179+
case PM_DEVICE_ACTION_RESUME:
180180
ext_power_generic_enable(dev);
181181
return 0;
182-
case PM_DEVICE_ACTION_TURN_OFF:
182+
case PM_DEVICE_ACTION_SUSPEND:
183183
ext_power_generic_disable(dev);
184184
return 0;
185185
default:

0 commit comments

Comments
 (0)