diff options
author | Aleksander Morgado <aleksander@lanedo.com> | 2012-04-10 14:23:54 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2012-08-06 20:07:24 +0200 |
commit | b96a50f42be86c21f5b4b0ea320b6568c9426c96 (patch) | |
tree | 327dfa942107127198a6e147af65df9b1fb6b65a /plugins/pantech/mm-plugin-pantech.c | |
parent | f4754e150ecf34380935d7eb1d39c55063574664 (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.c | 26 |
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; } |