diff options
author | Aleksander Morgado <aleksandermj@chromium.org> | 2023-12-01 12:45:12 +0000 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2023-12-12 11:22:30 +0000 |
commit | bbd11cda4b9d4d3ec3b96ed563fdbab07cc4e5c2 (patch) | |
tree | a82a7672ba51c505811a68b81dddd14eaa60f769 /src/main.c | |
parent | 63dd4ad263be6bd3d38cbbccac80993fe7351b52 (diff) |
base-manager: new '--test-low-power-suspend-resume' option
Will request to put the modems in low power mode upon system suspend.
Based on an earlier approach from Jack Song and Nero Zhang, see
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1050
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 15 |
1 files changed, 10 insertions, 5 deletions
@@ -61,8 +61,13 @@ quit_cb (gpointer user_data) static void sleeping_cb (MMSleepMonitor *sleep_monitor) { - mm_dbg ("removing devices... (sleeping)"); - mm_base_manager_shutdown (manager, FALSE); + if (mm_context_get_test_low_power_suspend_resume ()) { + mm_dbg ("removing devices and setting them in low power mode... (sleeping)"); + mm_base_manager_shutdown (manager, TRUE, TRUE); + } else { + mm_dbg ("removing devices... (sleeping)"); + mm_base_manager_shutdown (manager, FALSE, FALSE); + } } static void @@ -201,9 +206,9 @@ main (int argc, char *argv[]) { MMSleepMonitor *sleep_monitor; - if (mm_context_get_test_no_suspend_resume()) + if (mm_context_get_test_no_suspend_resume ()) mm_dbg ("Suspend/resume support disabled at runtime"); - else if (mm_context_get_test_quick_suspend_resume()) { + else if (mm_context_get_test_quick_suspend_resume ()) { mm_dbg ("Quick suspend/resume hooks enabled"); sleep_monitor = mm_sleep_monitor_get (); g_signal_connect (sleep_monitor, MM_SLEEP_MONITOR_RESUMING, G_CALLBACK (resuming_quick_cb), NULL); @@ -228,7 +233,7 @@ main (int argc, char *argv[]) if (manager) { GTimer *timer; - mm_base_manager_shutdown (manager, TRUE); + mm_base_manager_shutdown (manager, TRUE, FALSE); /* Wait for all modems to be disabled and removed, but don't wait * forever: if disabling the modems takes longer than 20s, just |