diff options
author | Thomas Vogt <acc-github@tovotu.de> | 2024-06-19 20:33:22 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2024-07-31 17:36:14 +0000 |
commit | c2e3a8c10e6d398ef79067666c976fe6e8fb190e (patch) | |
tree | bb6f776bf18e351d8439e4e92b5d45ae4a10fbce /src/mm-base-modem.c | |
parent | 1c4f2320f1f50e22851bd477c88467e7436d2d33 (diff) |
port-probe: detect XMMRPC ports
Diffstat (limited to 'src/mm-base-modem.c')
-rw-r--r-- | src/mm-base-modem.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/mm-base-modem.c b/src/mm-base-modem.c index ac9c261e..d8fd4164 100644 --- a/src/mm-base-modem.c +++ b/src/mm-base-modem.c @@ -314,6 +314,13 @@ base_modem_create_wwan_port (MMBaseModem *self, if (ptype == MM_PORT_TYPE_AT) return MM_PORT (mm_port_serial_at_new (name, MM_PORT_SUBSYS_WWAN)); + if (ptype == MM_PORT_TYPE_XMMRPC) + return MM_PORT (g_object_new (MM_TYPE_PORT, + MM_PORT_DEVICE, name, + MM_PORT_SUBSYS, MM_PORT_SUBSYS_WWAN, + MM_PORT_TYPE, MM_PORT_TYPE_XMMRPC, + NULL)); + return NULL; } @@ -1221,6 +1228,9 @@ mm_base_modem_get_port_infos (MMBaseModem *self, case MM_PORT_TYPE_MBIM: port_info.type = MM_MODEM_PORT_TYPE_MBIM; break; + case MM_PORT_TYPE_XMMRPC: + port_info.type = MM_MODEM_PORT_TYPE_XMMRPC; + break; case MM_PORT_TYPE_IGNORED: port_info.type = MM_MODEM_PORT_TYPE_IGNORED; break; @@ -1350,6 +1360,7 @@ mm_base_modem_organize_ports (MMBaseModem *self, MMPortSerialGps *gps = NULL; MMPortSerial *audio = NULL; MMPortSerialAt *data_at_primary = NULL; + MMPort *xmmrpc = NULL; GList *l; /* These lists don't keep full references, so they should be * g_list_free()-ed on error exits */ @@ -1445,6 +1456,12 @@ mm_base_modem_organize_ports (MMBaseModem *self, audio = MM_PORT_SERIAL (candidate); break; + case MM_PORT_TYPE_XMMRPC: + g_assert (MM_IS_PORT (candidate)); + if (!xmmrpc) + xmmrpc = MM_PORT (candidate); + break; + #if defined WITH_QMI case MM_PORT_TYPE_QMI: qmi = g_list_append (qmi, candidate); @@ -1572,6 +1589,7 @@ mm_base_modem_organize_ports (MMBaseModem *self, log_port (self, MM_PORT (gps_control), "gps (control)"); log_port (self, MM_PORT (gps), "gps (nmea)"); log_port (self, MM_PORT (audio), "audio"); + log_port (self, MM_PORT (xmmrpc), "xmmrpc"); #if defined WITH_QMI for (l = qmi; l; l = g_list_next (l)) log_port (self, MM_PORT (l->data), "qmi"); |