0272a7de51
Add modem-qcom-msm-downstream-common package that pulls in the dependencies. qcom_rmtfs now has udev rules to find the storage partitions. My hope is they can be written flexibly enough to cover all devices and kernel flavors.
84 lines
3.2 KiB
Diff
84 lines
3.2 KiB
Diff
diff -rN -U3 a/plugins/udevng.c b/plugins/udevng.c
|
|
--- a/plugins/udevng.c 2017-10-05 14:32:37.000000000 +0000
|
|
+++ b/plugins/udevng.c 2018-03-08 05:29:16.000000000 +0000
|
|
@@ -201,39 +201,43 @@
|
|
|
|
DBG("%s", modem->syspath);
|
|
|
|
- for (list = modem->devices; list; list = list->next) {
|
|
- struct device_info *info = list->data;
|
|
+ if (modem->type != MODEM_TYPE_SERIAL) {
|
|
+ for (list = modem->devices; list; list = list->next) {
|
|
+ struct device_info *info = list->data;
|
|
|
|
- DBG("%s %s %s %s %s %s", info->devnode, info->interface,
|
|
- info->number, info->label,
|
|
- info->sysattr, info->subsystem);
|
|
+ DBG("%s %s %s %s %s %s", info->devnode, info->interface,
|
|
+ info->number, info->label,
|
|
+ info->sysattr, info->subsystem);
|
|
|
|
- if (g_strcmp0(info->subsystem, "usbmisc") == 0) /* cdc-wdm */
|
|
- qmi = info->devnode;
|
|
- else if (g_strcmp0(info->subsystem, "net") == 0) /* wwan */
|
|
- net = info->devnode;
|
|
- else if (g_strcmp0(info->subsystem, "tty") == 0) {
|
|
- if (g_strcmp0(info->interface, "255/255/255") == 0) {
|
|
- if (g_strcmp0(info->number, "00") == 0)
|
|
- diag = info->devnode; /* ec20 */
|
|
- else if (g_strcmp0(info->number, "01") == 0)
|
|
- diag = info->devnode; /* gobi */
|
|
- else if (g_strcmp0(info->number, "02") == 0)
|
|
- mdm = info->devnode; /* gobi */
|
|
- else if (g_strcmp0(info->number, "03") == 0)
|
|
- gps = info->devnode; /* gobi */
|
|
- } else if (g_strcmp0(info->interface, "255/0/0") == 0) {
|
|
- if (g_strcmp0(info->number, "01") == 0)
|
|
- gps = info->devnode; /* ec20 */
|
|
- if (g_strcmp0(info->number, "02") == 0)
|
|
- mdm = info->devnode; /* ec20 */
|
|
- /* ignore the 3rd device second AT/mdm iface */
|
|
+ if (g_strcmp0(info->subsystem, "usbmisc") == 0) /* cdc-wdm */
|
|
+ qmi = info->devnode;
|
|
+ else if (g_strcmp0(info->subsystem, "net") == 0) /* wwan */
|
|
+ net = info->devnode;
|
|
+ else if (g_strcmp0(info->subsystem, "tty") == 0) {
|
|
+ if (g_strcmp0(info->interface, "255/255/255") == 0) {
|
|
+ if (g_strcmp0(info->number, "00") == 0)
|
|
+ diag = info->devnode; /* ec20 */
|
|
+ else if (g_strcmp0(info->number, "01") == 0)
|
|
+ diag = info->devnode; /* gobi */
|
|
+ else if (g_strcmp0(info->number, "02") == 0)
|
|
+ mdm = info->devnode; /* gobi */
|
|
+ else if (g_strcmp0(info->number, "03") == 0)
|
|
+ gps = info->devnode; /* gobi */
|
|
+ } else if (g_strcmp0(info->interface, "255/0/0") == 0) {
|
|
+ if (g_strcmp0(info->number, "01") == 0)
|
|
+ gps = info->devnode; /* ec20 */
|
|
+ if (g_strcmp0(info->number, "02") == 0)
|
|
+ mdm = info->devnode; /* ec20 */
|
|
+ /* ignore the 3rd device second AT/mdm iface */
|
|
+ }
|
|
}
|
|
}
|
|
- }
|
|
|
|
- if (qmi == NULL || mdm == NULL || net == NULL)
|
|
- return FALSE;
|
|
+ if (qmi == NULL || mdm == NULL || net == NULL)
|
|
+ return FALSE;
|
|
+ } else {
|
|
+ qmi = modem->serial->devnode;
|
|
+ }
|
|
|
|
DBG("qmi=%s net=%s mdm=%s gps=%s diag=%s", qmi, net, mdm, gps, diag);
|
|
|
|
@@ -1708,6 +1712,8 @@
|
|
return;
|
|
|
|
udev_enumerate_add_match_subsystem(enumerate, "tty");
|
|
+ udev_enumerate_add_match_subsystem(enumerate, "smdpkt");
|
|
+ udev_enumerate_add_match_subsystem(enumerate, "rpmsg");
|
|
udev_enumerate_add_match_subsystem(enumerate, "usb");
|
|
udev_enumerate_add_match_subsystem(enumerate, "usbmisc");
|
|
udev_enumerate_add_match_subsystem(enumerate, "net");
|