From 5a70aecb6bda45aad53120923b0c9c2d33d84075 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Wed, 22 Jan 2025 14:19:56 +1100 Subject: [PATCH] Suspend callbacks. --- lib/python/qmk/cli/generate/community_modules.py | 2 ++ quantum/quantum.c | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/lib/python/qmk/cli/generate/community_modules.py b/lib/python/qmk/cli/generate/community_modules.py index 88d63396e7..7ef041a728 100644 --- a/lib/python/qmk/cli/generate/community_modules.py +++ b/lib/python/qmk/cli/generate/community_modules.py @@ -22,6 +22,8 @@ MODULE_API_LIST = [ ModuleAPI(ret_type='bool', name='process_record', args='uint16_t keycode, keyrecord_t *record', call_params='keycode, record', ret_val='true'), ModuleAPI(ret_type='void', name='post_process_record', args='uint16_t keycode, keyrecord_t *record', call_params='keycode, record', ret_val=None), ModuleAPI(ret_type='void', name='housekeeping_task', args='void', call_params='', ret_val=None), + ModuleAPI(ret_type='void', name='suspend_power_down', args='void', call_params='', ret_val=None), + ModuleAPI(ret_type='void', name='suspend_wakeup_init', args='void', call_params='', ret_val=None), ModuleAPI(ret_type='bool', name='shutdown', args='bool jump_to_bootloader', call_params='jump_to_bootloader', ret_val='true'), ] diff --git a/quantum/quantum.c b/quantum/quantum.c index 66e1cef24d..8239e22f72 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -202,6 +202,10 @@ __attribute__((weak)) bool shutdown_modules(bool jump_to_bootloader) { return true; } +__attribute__((weak)) void suspend_power_down_modules(void) {} + +__attribute__((weak)) void suspend_wakeup_init_modules(void) {} + void shutdown_quantum(bool jump_to_bootloader) { clear_keyboard(); #if defined(MIDI_ENABLE) && defined(MIDI_BASIC) @@ -543,6 +547,7 @@ __attribute__((weak)) bool shutdown_kb(bool jump_to_bootloader) { } void suspend_power_down_quantum(void) { + suspend_power_down_modules(); suspend_power_down_kb(); #ifndef NO_SUSPEND_POWER_DOWN // Turn off backlight @@ -610,6 +615,7 @@ __attribute__((weak)) void suspend_wakeup_init_quantum(void) { #if defined(RGB_MATRIX_ENABLE) rgb_matrix_set_suspend_state(false); #endif + suspend_wakeup_init_modules(); suspend_wakeup_init_kb(); }