diff options
author | Aleksander Morgado <aleksandermj@chromium.org> | 2023-12-18 09:21:39 +0000 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2024-01-25 13:45:14 +0000 |
commit | 910e450ea7189bcd726d94374458867bfb15576d (patch) | |
tree | 494530b7e91241457d8edfa1eb7184a4ce2c58aa /src | |
parent | 99f520269b6d3d3b081e58c4c91a8cd0a336c8f5 (diff) |
port-qmi: use a single method to set all initial net port details
Diffstat (limited to 'src')
-rw-r--r-- | src/mm-base-modem.c | 12 | ||||
-rw-r--r-- | src/mm-port-qmi.c | 26 | ||||
-rw-r--r-- | src/mm-port-qmi.h | 7 |
3 files changed, 17 insertions, 28 deletions
diff --git a/src/mm-base-modem.c b/src/mm-base-modem.c index e02be984..aaf67573 100644 --- a/src/mm-base-modem.c +++ b/src/mm-base-modem.c @@ -1633,16 +1633,8 @@ mm_base_modem_organize_ports (MMBaseModem *self, g_assert (MM_IS_PORT_NET (self->priv->data->data)); /* let the MMPortQmi know which net driver is being used, taken * from the first item in the net port list */ - g_list_foreach (qmi, - (GFunc)mm_port_qmi_set_net_driver, - (gpointer) mm_kernel_device_get_driver ( - mm_port_peek_kernel_device ( - MM_PORT (self->priv->data->data)))); - g_list_foreach (qmi, - (GFunc)mm_port_qmi_set_net_sysfs_path, - (gpointer) mm_kernel_device_get_sysfs_path ( - mm_port_peek_kernel_device ( - MM_PORT (self->priv->data->data)))); + g_list_foreach (qmi, (GFunc)mm_port_qmi_set_net_details, (gpointer) MM_PORT (self->priv->data->data)); + g_list_foreach (qmi, (GFunc)g_object_ref, NULL); self->priv->qmi = g_steal_pointer (&qmi); } diff --git a/src/mm-port-qmi.c b/src/mm-port-qmi.c index 7f8ec967..2c608e96 100644 --- a/src/mm-port-qmi.c +++ b/src/mm-port-qmi.c @@ -2652,26 +2652,26 @@ mm_port_qmi_is_open (MMPortQmi *self) } /*****************************************************************************/ +/* Sets network details that the QMI port should be aware of before even + * a data connection is started. */ void -mm_port_qmi_set_net_driver (MMPortQmi *self, - const gchar *net_driver) +mm_port_qmi_set_net_details (MMPortQmi *self, + MMPort *first_net) { - g_assert (MM_IS_PORT_QMI (self)); - g_assert (!self->priv->net_driver); - self->priv->net_driver = g_strdup (net_driver); - initialize_endpoint_info (self); -} + MMKernelDevice *first_net_dev; -/*****************************************************************************/ + first_net_dev = mm_port_peek_kernel_device (first_net); -void -mm_port_qmi_set_net_sysfs_path (MMPortQmi *self, - const gchar *net_sysfs_path) -{ g_assert (MM_IS_PORT_QMI (self)); + + g_assert (!self->priv->net_driver); + self->priv->net_driver = g_strdup (mm_kernel_device_get_driver (first_net_dev)); + g_assert (!self->priv->net_sysfs_path); - self->priv->net_sysfs_path = g_strdup (net_sysfs_path); + self->priv->net_sysfs_path = g_strdup (mm_kernel_device_get_sysfs_path (first_net_dev)); + + initialize_endpoint_info (self); } /*****************************************************************************/ diff --git a/src/mm-port-qmi.h b/src/mm-port-qmi.h index 5c8e899f..148067fa 100644 --- a/src/mm-port-qmi.h +++ b/src/mm-port-qmi.h @@ -88,11 +88,8 @@ gboolean mm_port_qmi_close_finish (MMPortQmi *self, GAsyncResult *res, GError **error); -void mm_port_qmi_set_net_driver (MMPortQmi *self, - const gchar *net_driver); - -void mm_port_qmi_set_net_sysfs_path (MMPortQmi *self, - const gchar *net_sysfs_path); +void mm_port_qmi_set_net_details (MMPortQmi *self, + MMPort *first_net); typedef enum { MM_PORT_QMI_FLAG_DEFAULT = 0, |