diff options
author | Joel Selvaraj <jo@jsfamily.in> | 2021-07-21 12:40:31 +0530 |
---|---|---|
committer | Joel Selvaraj <jo@jsfamily.in> | 2021-07-21 20:35:33 +0530 |
commit | 43c9c47b04750c1d7c8d3b7c9d9d1d79490e2da4 (patch) | |
tree | c4c11ce49555589fcfe23273bbc99dbe10404f28 | |
parent | 1d4caa929f8766cb926dc2578e29d389fe186d41 (diff) |
port-qmi: allow MMPortQmi to get the net sysfs path
Will be set by base modem when organizing ports, similar to
net driver name. Required for fetching the TX and RX endpoint IDs
through sysfs from linux 5.14 onwards.
-rw-r--r-- | src/mm-port-qmi.c | 13 | ||||
-rw-r--r-- | src/mm-port-qmi.h | 3 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/mm-port-qmi.c b/src/mm-port-qmi.c index a64156dd..b36bcdff 100644 --- a/src/mm-port-qmi.c +++ b/src/mm-port-qmi.c @@ -56,6 +56,7 @@ struct _MMPortQmiPrivate { QmiDevice *qmi_device; GList *services; gchar *net_driver; + gchar *net_sysfs_path; #if defined WITH_QRTR QrtrNode *node; #endif @@ -2372,6 +2373,17 @@ mm_port_qmi_set_net_driver (MMPortQmi *self, /*****************************************************************************/ +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_sysfs_path); + self->priv->net_sysfs_path = g_strdup (net_sysfs_path); +} + +/*****************************************************************************/ + typedef struct { QmiDevice *qmi_device; } PortQmiCloseContext; @@ -2589,6 +2601,7 @@ dispose (GObject *object) g_clear_object (&self->priv->qmi_device); g_clear_pointer (&self->priv->net_driver, g_free); + g_clear_pointer (&self->priv->net_sysfs_path, g_free); G_OBJECT_CLASS (mm_port_qmi_parent_class)->dispose (object); } diff --git a/src/mm-port-qmi.h b/src/mm-port-qmi.h index dbeff1bd..e5027252 100644 --- a/src/mm-port-qmi.h +++ b/src/mm-port-qmi.h @@ -89,6 +89,9 @@ gboolean mm_port_qmi_close_finish (MMPortQmi *self, 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); + typedef enum { MM_PORT_QMI_FLAG_DEFAULT = 0, MM_PORT_QMI_FLAG_WDS_IPV4 = 1, |