Project

General

Profile

Feature #2509 ยป 0001-udevng-Add-OFONO_PATHNAME-property-to-set-modem-dbus.patch

pespin, 02/13/2018 07:29 PM

View differences:

plugins/udevng.c
45 45
struct modem_info {
46 46
	char *syspath;
47 47
	char *devname;
48
	char *pathname;
48 49
	char *driver;
49 50
	char *vendor;
50 51
	char *model;
......
1224 1225

  
1225 1226
	g_free(modem->syspath);
1226 1227
	g_free(modem->devname);
1228
	g_free(modem->pathname);
1227 1229
	g_free(modem->driver);
1228 1230
	g_free(modem->vendor);
1229 1231
	g_free(modem->model);
......
1304 1306
 */
1305 1307
static void add_serial_device(struct udev_device *dev)
1306 1308
{
1307
	const char *syspath, *devpath, *devname, *devnode;
1309
	const char *syspath, *devpath, *devname, *devnode, *pathname;
1308 1310
	struct modem_info *modem;
1309 1311
	struct serial_device_info *info;
1310 1312
	const char *subsystem;
......
1318 1320
	}
1319 1321

  
1320 1322
	driver = udev_device_get_property_value(mdev, "OFONO_DRIVER");
1323
	pathname = udev_device_get_property_value(mdev, "OFONO_PATHNAME");
1321 1324

  
1322 1325
	syspath = udev_device_get_syspath(mdev);
1323 1326
	devname = udev_device_get_devnode(mdev);
......
1337 1340
		modem->type = MODEM_TYPE_SERIAL;
1338 1341
		modem->syspath = g_strdup(syspath);
1339 1342
		modem->devname = g_strdup(devname);
1343
		modem->pathname = g_strdup(pathname);
1340 1344
		modem->driver = g_strdup("legacy");
1341 1345

  
1342 1346
		g_hash_table_replace(modem_list, modem->syspath, modem);
......
1362 1366

  
1363 1367
static void add_device(const char *syspath, const char *devname,
1364 1368
			const char *driver, const char *vendor,
1365
			const char *model, struct udev_device *device)
1369
			const char *model, const char *pathname,
1370
			struct udev_device *device)
1366 1371
{
1367 1372
	struct udev_device *usb_interface;
1368 1373
	const char *devpath, *devnode, *interface, *number;
......
1399 1404
		modem->driver = g_strdup(driver);
1400 1405
		modem->vendor = g_strdup(vendor);
1401 1406
		modem->model = g_strdup(model);
1407
		modem->pathname = g_strdup(pathname);
1402 1408

  
1403 1409
		modem->sysattr = get_sysattr(driver);
1404 1410

  
......
1434 1440

  
1435 1441
	DBG("%s", syspath);
1436 1442
	DBG("%s", devpath);
1437
	DBG("%s (%s) %s [%s] ==> %s %s", devnode, driver,
1438
					interface, number, label, sysattr);
1443
	DBG("%s (%s) %s [%s] ==> %s %s %s",
1444
		devnode, driver, interface, number, label, sysattr, pathname);
1439 1445

  
1440 1446
	info = g_try_new0(struct device_info, 1);
1441 1447
	if (info == NULL)
......
1530 1536
static void check_usb_device(struct udev_device *device)
1531 1537
{
1532 1538
	struct udev_device *usb_device;
1533
	const char *syspath, *devname, *driver;
1539
	const char *syspath, *devname, *driver, *pathname;
1534 1540
	const char *vendor = NULL, *model = NULL;
1535 1541

  
1536 1542
	usb_device = udev_device_get_parent_with_subsystem_devtype(device,
......
1549 1555
	vendor = udev_device_get_property_value(usb_device, "ID_VENDOR_ID");
1550 1556
	model = udev_device_get_property_value(usb_device, "ID_MODEL_ID");
1551 1557

  
1558
	pathname = udev_device_get_property_value(usb_device, "OFONO_PATHNAME");
1559

  
1552 1560
	driver = udev_device_get_property_value(usb_device, "OFONO_DRIVER");
1553 1561
	if (!driver) {
1554 1562
		struct udev_device *usb_interface =
......
1604 1612
			return;
1605 1613
	}
1606 1614

  
1607
	add_device(syspath, devname, driver, vendor, model, device);
1615
	add_device(syspath, devname, driver, vendor, model, pathname, device);
1608 1616
}
1609 1617

  
1610 1618
static void check_device(struct udev_device *device)
......
1642 1650

  
1643 1651
	DBG("driver=%s", modem->driver);
1644 1652

  
1645
	modem->modem = ofono_modem_create(NULL, modem->driver);
1653
	modem->modem = ofono_modem_create(modem->pathname, modem->driver);
1646 1654
	if (modem->modem == NULL)
1647 1655
		return TRUE;
1648 1656

  
    (1-1/1)
    Add picture from clipboard (Maximum size: 48.8 MB)