aboutsummaryrefslogtreecommitdiff
path: root/src/mm-base-manager.c
diff options
context:
space:
mode:
authorAleksander Morgado <aleksandermj@chromium.org>2023-12-01 13:24:08 +0000
committerAleksander Morgado <aleksandermj@chromium.org>2023-12-01 13:24:17 +0000
commit224c04065d459356e98ce0e3bb32425ce344ad14 (patch)
tree61a59de365d86670a38f356251b2d9fc1fa1b7f9 /src/mm-base-manager.c
parent23033217de26fb91734fed3b999173f151195040 (diff)
Revert "base-manager: add support to put modem in low power mode during suspend"main
This reverts commit 23033217de26fb91734fed3b999173f151195040. This was mixed up in the wrong branch.
Diffstat (limited to 'src/mm-base-manager.c')
-rw-r--r--src/mm-base-manager.c94
1 files changed, 18 insertions, 76 deletions
diff --git a/src/mm-base-manager.c b/src/mm-base-manager.c
index 930cd504..e2cebccb 100644
--- a/src/mm-base-manager.c
+++ b/src/mm-base-manager.c
@@ -57,7 +57,6 @@
#include "mm-filter.h"
#include "mm-log-object.h"
#include "mm-base-modem.h"
-#include "mm-iface-modem.h"
static void initable_iface_init (GInitableIface *iface);
static void log_object_iface_init (MMLogObjectInterface *iface);
@@ -653,91 +652,39 @@ mm_base_manager_start (MMBaseManager *self,
/*****************************************************************************/
-typedef struct {
- MMBaseManager *self;
- gboolean low_power;
-} DisableContext;
-
static void
-disable_context_free (DisableContext *ctx)
-{
- g_object_unref (ctx->self);
- g_slice_free (DisableContext, ctx);
-}
-
-static void
-remove_device_after_disable (MMBaseModem *modem,
- DisableContext *ctx)
+remove_disable_ready (MMBaseModem *modem,
+ GAsyncResult *res,
+ MMBaseManager *self)
{
MMDevice *device;
- device = find_device_by_modem (ctx->self, modem);
+ /* We don't care about errors disabling at this point */
+ mm_base_modem_disable_finish (modem, res, NULL);
+
+ device = find_device_by_modem (self, modem);
if (device) {
g_cancellable_cancel (mm_base_modem_peek_cancellable (modem));
mm_device_remove_modem (device);
- g_hash_table_remove (ctx->self->priv->devices, mm_device_get_uid (device));
- }
-
- disable_context_free (ctx);
-}
-
-static void
-shutdown_low_power_ready (MMIfaceModem *modem,
- GAsyncResult *res,
- DisableContext *ctx)
-{
- g_autoptr(GError) error = NULL;
-
- if (!mm_iface_modem_set_power_state_finish (modem, res, &error))
- mm_obj_info (ctx->self, "changing to low power state failed: %s", error->message);
-
- remove_device_after_disable (MM_BASE_MODEM (modem), ctx);
-}
-
-static void
-shutdown_disable_ready (MMBaseModem *modem,
- GAsyncResult *res,
- DisableContext *ctx)
-{
- g_autoptr(GError) error = NULL;
-
- /* We don't care about errors disabling at this point */
- if (!mm_base_modem_disable_finish (modem, res, &error)) {
- mm_obj_info (ctx->self, "disabling modem failed: %s", error->message);
- }
- /* Bring the modem to low power mode if requested */
- else if (ctx->low_power) {
- mm_iface_modem_set_power_state (MM_IFACE_MODEM (modem),
- MM_MODEM_POWER_STATE_LOW,
- (GAsyncReadyCallback)shutdown_low_power_ready,
- ctx);
- return;
+ g_hash_table_remove (self->priv->devices, mm_device_get_uid (device));
}
-
- remove_device_after_disable (modem, ctx);
}
static void
-foreach_disable (gpointer key,
- MMDevice *device,
- DisableContext *foreach_ctx)
+foreach_disable (gpointer key,
+ MMDevice *device,
+ MMBaseManager *self)
{
- MMBaseModem *modem;
- DisableContext *ctx;
+ MMBaseModem *modem;
modem = mm_device_peek_modem (device);
- if (!modem)
- return;
-
- ctx = g_slice_new0 (DisableContext);
- ctx->self = g_object_ref (foreach_ctx->self);
- ctx->low_power = foreach_ctx->low_power;
- mm_base_modem_disable (modem, (GAsyncReadyCallback)shutdown_disable_ready, ctx);
+ if (modem)
+ mm_base_modem_disable (modem, (GAsyncReadyCallback)remove_disable_ready, self);
}
static gboolean
-foreach_remove (gpointer key,
- MMDevice *device,
+foreach_remove (gpointer key,
+ MMDevice *device,
MMBaseManager *self)
{
MMBaseModem *modem;
@@ -751,8 +698,7 @@ foreach_remove (gpointer key,
void
mm_base_manager_shutdown (MMBaseManager *self,
- gboolean disable,
- gboolean low_power)
+ gboolean disable)
{
g_return_if_fail (self != NULL);
g_return_if_fail (MM_IS_BASE_MANAGER (self));
@@ -761,11 +707,7 @@ mm_base_manager_shutdown (MMBaseManager *self,
g_cancellable_cancel (self->priv->authp_cancellable);
if (disable) {
- DisableContext foreach_ctx = {
- .self = self,
- .low_power = low_power,
- };
- g_hash_table_foreach (self->priv->devices, (GHFunc)foreach_disable, &foreach_ctx);
+ g_hash_table_foreach (self->priv->devices, (GHFunc)foreach_disable, self);
/* Disabling may take a few iterations of the mainloop, so the caller
* has to iterate the mainloop until all devices have been disabled and