aboutsummaryrefslogtreecommitdiff
path: root/plugins/pantech/mm-plugin-pantech.c
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-04-10 14:23:54 +0200
committerAleksander Morgado <aleksander@lanedo.com>2012-08-06 20:07:24 +0200
commitb96a50f42be86c21f5b4b0ea320b6568c9426c96 (patch)
tree327dfa942107127198a6e147af65df9b1fb6b65a /plugins/pantech/mm-plugin-pantech.c
parentf4754e150ecf34380935d7eb1d39c55063574664 (diff)
pantech: always prefer the ttyACM port as primary AT port
Diffstat (limited to 'plugins/pantech/mm-plugin-pantech.c')
-rw-r--r--plugins/pantech/mm-plugin-pantech.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/plugins/pantech/mm-plugin-pantech.c b/plugins/pantech/mm-plugin-pantech.c
index f7ddd6c4..fe78086c 100644
--- a/plugins/pantech/mm-plugin-pantech.c
+++ b/plugins/pantech/mm-plugin-pantech.c
@@ -45,6 +45,31 @@ create_modem (MMPlugin *self,
product));
}
+static gboolean
+grab_port (MMPlugin *self,
+ MMBaseModem *modem,
+ MMPortProbe *probe,
+ GError **error)
+{
+ MMPortType ptype;
+ MMAtPortFlag pflags = MM_AT_PORT_FLAG_NONE;
+
+ ptype = mm_port_probe_get_port_type (probe);
+
+ /* Always prefer the ttyACM port as PRIMARY AT port */
+ if (ptype == MM_PORT_TYPE_AT &&
+ g_str_has_prefix (mm_port_probe_get_port_name (probe), "ttyACM")) {
+ pflags = MM_AT_PORT_FLAG_PRIMARY;
+ }
+
+ return mm_base_modem_grab_port (modem,
+ mm_port_probe_get_port_subsys (probe),
+ mm_port_probe_get_port_name (probe),
+ ptype,
+ pflags,
+ error);
+}
+
/*****************************************************************************/
G_MODULE_EXPORT MMPlugin *
@@ -73,4 +98,5 @@ mm_plugin_pantech_class_init (MMPluginPantechClass *klass)
MMPluginClass *plugin_class = MM_PLUGIN_CLASS (klass);
plugin_class->create_modem = create_modem;
+ plugin_class->grab_port = grab_port;
}