summaryrefslogtreecommitdiffstats
path: root/plugins/udevng.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2011-08-09 19:00:38 +0200
committerMarcel Holtmann <marcel@holtmann.org>2011-08-09 16:50:29 -0700
commit4c52de55b75343e06bc9621fce698165ad13ca51 (patch)
tree33565db719c623b50433780d894cbf8534612fdb /plugins/udevng.c
parenta36065bbc738a4c3b78bb59719bf15c06fd97bc2 (diff)
downloadofono-4c52de55b75343e06bc9621fce698165ad13ca51.tar.bz2
udev: Detect GPS and QCDM port for Gobi cards
Diffstat (limited to 'plugins/udevng.c')
-rw-r--r--plugins/udevng.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/plugins/udevng.c b/plugins/udevng.c
index 54d2d8f8..f6be4467 100644
--- a/plugins/udevng.c
+++ b/plugins/udevng.c
@@ -92,7 +92,7 @@ static gboolean setup_hso(struct modem_info *modem)
static gboolean setup_gobi(struct modem_info *modem)
{
- const char *device = NULL;
+ const char *device = NULL, *gps = NULL, *qcdm = NULL;
GSList *list;
DBG("%s", modem->syspath);
@@ -103,17 +103,20 @@ static gboolean setup_gobi(struct modem_info *modem)
DBG("%s %s %s %s", info->devnode, info->interface,
info->number, info->label);
- if (g_strcmp0(info->interface, "255/255/255") == 0 &&
- g_strcmp0(info->number, "02") == 0) {
- device = info->devnode;
- break;
+ if (g_strcmp0(info->interface, "255/255/255") == 0) {
+ if (g_strcmp0(info->number, "01") == 0)
+ qcdm = info->devnode;
+ else if (g_strcmp0(info->number, "02") == 0)
+ device = info->devnode;
+ else if (g_strcmp0(info->number, "03") == 0)
+ gps = info->devnode;
}
}
if (device == NULL)
return FALSE;
- DBG("device=%s", device);
+ DBG("device=%s gps=%s qcdm=%s", device, gps, qcdm);
ofono_modem_set_string(modem->modem, "Device", device);