aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Krasnoshchekov <petr.krasnoshchekov@wirenboard.ru>2023-10-09 12:43:20 +0500
committerAleksander Morgado <aleksandermj@chromium.org>2023-12-01 12:49:45 +0000
commitc871b1a5147546579435e979699b95b3db4d23cd (patch)
treee700c4f8206c5703230ad2a12ba07a35a2b465af
parent7c4908184b11542125f586c7ed2218bdf33f4f4b (diff)
simtech: implement reset for A7600E-H/A7602E-H
-rw-r--r--src/plugins/simtech/mm-broadband-modem-simtech.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/plugins/simtech/mm-broadband-modem-simtech.c b/src/plugins/simtech/mm-broadband-modem-simtech.c
index 79d1ba60..cc2c6589 100644
--- a/src/plugins/simtech/mm-broadband-modem-simtech.c
+++ b/src/plugins/simtech/mm-broadband-modem-simtech.c
@@ -1061,6 +1061,30 @@ load_current_modes (MMIfaceModem *self,
}
/*****************************************************************************/
+/* Reset (Modem interface) */
+
+static gboolean
+reset_finish (MMIfaceModem *self,
+ GAsyncResult *res,
+ GError **error)
+{
+ return !!mm_base_modem_at_command_finish (MM_BASE_MODEM (self), res, error);
+}
+
+static void
+reset (MMIfaceModem *self,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
+{
+ mm_base_modem_at_command (MM_BASE_MODEM (self),
+ "+CRESET",
+ 9,
+ FALSE,
+ callback,
+ user_data);
+}
+
+/*****************************************************************************/
/* Set allowed modes (Modem interface) */
typedef struct {
@@ -1267,6 +1291,8 @@ iface_modem_init (MMIfaceModem *iface)
iface->load_current_modes_finish = load_current_modes_finish;
iface->set_current_modes = set_current_modes;
iface->set_current_modes_finish = set_current_modes_finish;
+ iface->reset = reset;
+ iface->reset_finish = reset_finish;
}
static void