From 43c9c47b04750c1d7c8d3b7c9d9d1d79490e2da4 Mon Sep 17 00:00:00 2001 From: Joel Selvaraj Date: Wed, 21 Jul 2021 12:40:31 +0530 Subject: 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. --- src/mm-port-qmi.c | 13 +++++++++++++ src/mm-port-qmi.h | 3 +++ 2 files changed, 16 insertions(+) (limited to 'src') 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, -- cgit v1.2.3-70-g09d2