diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2020-11-09 12:31:03 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2020-11-09 18:41:57 +0100 |
commit | 4ec2db75b8fc1175c12d007ca64d2edcf630e3cc (patch) | |
tree | f4035d682e30b31a16a7970e9b0b20f1974f93f6 | |
parent | 56fca1447324f6ac47f2c7e7c9534c49f1bf1da3 (diff) |
port-serial-qcdm: allow specifying input subsystem
We have assumed until now that all QCDM ports are based on TTY
drivers, e.g. exposed via USB.
This may no longer be true, so allow creating QCDM ports with
an explicit subsystem instead of defaulting always to TTY.
-rw-r--r-- | src/mm-base-modem.c | 2 | ||||
-rw-r--r-- | src/mm-port-probe.c | 2 | ||||
-rw-r--r-- | src/mm-port-serial-qcdm.c | 5 | ||||
-rw-r--r-- | src/mm-port-serial-qcdm.h | 3 |
4 files changed, 7 insertions, 5 deletions
diff --git a/src/mm-base-modem.c b/src/mm-base-modem.c index fa13548e..d5b20b45 100644 --- a/src/mm-base-modem.c +++ b/src/mm-base-modem.c @@ -176,7 +176,7 @@ base_modem_create_tty_port (MMBaseModem *self, const gchar *flow_control_tag; if (ptype == MM_PORT_TYPE_QCDM) - port = MM_PORT (mm_port_serial_qcdm_new (name)); + port = MM_PORT (mm_port_serial_qcdm_new (name, MM_PORT_SUBSYS_TTY)); else if (ptype == MM_PORT_TYPE_GPS) port = MM_PORT (mm_port_serial_gps_new (name)); else if (ptype == MM_PORT_TYPE_AUDIO) diff --git a/src/mm-port-probe.c b/src/mm-port-probe.c index 5ae08296..2a6cdf16 100644 --- a/src/mm-port-probe.c +++ b/src/mm-port-probe.c @@ -745,7 +745,7 @@ serial_probe_qcdm (MMPortProbe *self) } /* Open the QCDM port */ - ctx->serial = MM_PORT_SERIAL (mm_port_serial_qcdm_new (mm_kernel_device_get_name (self->priv->port))); + ctx->serial = MM_PORT_SERIAL (mm_port_serial_qcdm_new (mm_kernel_device_get_name (self->priv->port), MM_PORT_SUBSYS_TTY)); if (!ctx->serial) { port_probe_task_return_error (self, g_error_new (MM_CORE_ERROR, diff --git a/src/mm-port-serial-qcdm.c b/src/mm-port-serial-qcdm.c index e5bc94e6..08f24303 100644 --- a/src/mm-port-serial-qcdm.c +++ b/src/mm-port-serial-qcdm.c @@ -350,11 +350,12 @@ config_fd (MMPortSerial *port, int fd, GError **error) /*****************************************************************************/ MMPortSerialQcdm * -mm_port_serial_qcdm_new (const char *name) +mm_port_serial_qcdm_new (const char *name, + MMPortSubsys subsys) { return MM_PORT_SERIAL_QCDM (g_object_new (MM_TYPE_PORT_SERIAL_QCDM, MM_PORT_DEVICE, name, - MM_PORT_SUBSYS, MM_PORT_SUBSYS_TTY, + MM_PORT_SUBSYS, subsys, MM_PORT_TYPE, MM_PORT_TYPE_QCDM, MM_PORT_SERIAL_SEND_DELAY, (guint64) 0, NULL)); diff --git a/src/mm-port-serial-qcdm.h b/src/mm-port-serial-qcdm.h index b7bca88e..85668a49 100644 --- a/src/mm-port-serial-qcdm.h +++ b/src/mm-port-serial-qcdm.h @@ -45,7 +45,8 @@ struct _MMPortSerialQcdmClass { GType mm_port_serial_qcdm_get_type (void); G_DEFINE_AUTOPTR_CLEANUP_FUNC (MMPortSerialQcdm, g_object_unref) -MMPortSerialQcdm *mm_port_serial_qcdm_new (const char *name); +MMPortSerialQcdm *mm_port_serial_qcdm_new (const char *name, + MMPortSubsys subsys); MMPortSerialQcdm *mm_port_serial_qcdm_new_fd (int fd); void mm_port_serial_qcdm_command (MMPortSerialQcdm *self, |