summaryrefslogtreecommitdiffstats
path: root/plugins/udevng.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2011-08-09 18:47:44 +0200
committerMarcel Holtmann <marcel@holtmann.org>2011-08-09 16:50:29 -0700
commita36065bbc738a4c3b78bb59719bf15c06fd97bc2 (patch)
treed0b73a94e879d764e4394a8552928b3464014567 /plugins/udevng.c
parent549c298b61e1bfc38268b7ce39de77dfb40a66c1 (diff)
downloadofono-a36065bbc738a4c3b78bb59719bf15c06fd97bc2.tar.bz2
udev: Add debug output for special system attribute
Diffstat (limited to 'plugins/udevng.c')
-rw-r--r--plugins/udevng.c33
1 files changed, 17 insertions, 16 deletions
diff --git a/plugins/udevng.c b/plugins/udevng.c
index 20a8f542..54d2d8f8 100644
--- a/plugins/udevng.c
+++ b/plugins/udevng.c
@@ -438,7 +438,7 @@ static struct {
const char *sysattr;
} driver_list[] = {
{ "hso", setup_hso, "hsotype" },
- { "gobi", setup_gobi },
+ { "gobi", setup_gobi, },
{ "sierra", setup_sierra },
{ "huawei", setup_huawei },
{ "huaweicdma", setup_huawei },
@@ -541,7 +541,7 @@ static void add_device(const char *syspath, const char *devname,
const char *driver, struct udev_device *device)
{
struct udev_device *intf;
- const char *devpath, *devnode, *interface, *number, *label;
+ const char *devpath, *devnode, *interface, *number, *label, *sysattr;
struct modem_info *modem;
struct device_info *info;
@@ -561,15 +561,6 @@ static void add_device(const char *syspath, const char *devname,
if (intf == NULL)
return;
- interface = udev_device_get_property_value(intf, "INTERFACE");
- number = udev_device_get_property_value(device, "ID_USB_INTERFACE_NUM");
-
- label = udev_device_get_property_value(device, "OFONO_LABEL");
-
- DBG("%s", devpath);
- DBG("%s (%s) %s [%s] ==> %s", devnode, driver,
- interface, number, label);
-
modem = g_hash_table_lookup(modem_list, syspath);
if (modem == NULL) {
modem = g_try_new0(struct modem_info, 1);
@@ -585,6 +576,20 @@ static void add_device(const char *syspath, const char *devname,
g_hash_table_replace(modem_list, modem->syspath, modem);
}
+ interface = udev_device_get_property_value(intf, "INTERFACE");
+ number = udev_device_get_property_value(device, "ID_USB_INTERFACE_NUM");
+
+ label = udev_device_get_property_value(device, "OFONO_LABEL");
+
+ if (modem->sysattr != NULL)
+ sysattr = udev_device_get_sysattr_value(device, modem->sysattr);
+ else
+ sysattr = NULL;
+
+ DBG("%s", devpath);
+ DBG("%s (%s) %s [%s] ==> %s %s", devnode, driver,
+ interface, number, label, sysattr);
+
info = g_try_new0(struct device_info, 1);
if (info == NULL)
return;
@@ -594,11 +599,7 @@ static void add_device(const char *syspath, const char *devname,
info->interface = g_strdup(interface);
info->number = g_strdup(number);
info->label = g_strdup(label);
-
- if (modem->sysattr != NULL) {
- info->sysattr = g_strdup(udev_device_get_sysattr_value(device,
- modem->sysattr));
- }
+ info->sysattr = g_strdup(sysattr);
modem->devices = g_slist_insert_sorted(modem->devices, info,
compare_device);