diff mbox series

[v2,5/7] qmi: Move version_str to qmux subclass

Message ID 20240221162335.1258315-5-denkenz@gmail.com (mailing list archive)
State Accepted
Commit 6cb6953abbe304ab4c282dea30750b0d4db1989a
Headers show
Series [v2,1/7] qmi: Remove qmi_device_sync | expand

Commit Message

Denis Kenzior Feb. 21, 2024, 4:23 p.m. UTC
The version_str member is only available on QMUX based devices, and only
on certain ones.  Move this member out to the qmux subclass and add a
debug statement to print it out if available.
---
 drivers/qmimodem/qmi.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/drivers/qmimodem/qmi.c b/drivers/qmimodem/qmi.c
index 08adb0f5fe02..59a10c8b8f8a 100644
--- a/drivers/qmimodem/qmi.c
+++ b/drivers/qmimodem/qmi.c
@@ -73,7 +73,6 @@  struct qmi_device {
 	uint16_t next_service_tid;
 	qmi_debug_func_t debug_func;
 	void *debug_data;
-	char *version_str;
 	struct qmi_version *version_list;
 	uint8_t version_count;
 	struct l_hashmap *service_list;
@@ -91,6 +90,7 @@  struct qmi_device_qmux {
 	struct qmi_device super;
 	uint16_t control_major;
 	uint16_t control_minor;
+	char *version_str;
 };
 
 struct qmi_service {
@@ -999,7 +999,6 @@  void qmi_device_unref(struct qmi_device *device)
 
 	l_hashmap_destroy(device->service_list, service_destroy);
 
-	l_free(device->version_str);
 	l_free(device->version_list);
 
 	if (device->shutting_down)
@@ -1213,7 +1212,8 @@  static void discover_callback(uint16_t message, uint16_t length,
 	if (!ptr)
 		goto done;
 
-	device->version_str = strndup(ptr + 1, *((uint8_t *) ptr));
+	qmux->version_str = l_strndup(ptr + 1, *((uint8_t *) ptr));
+	__debug_device(device, "version string: %s", qmux->version_str);
 
 done:
 	device->version_list = list;
@@ -1586,6 +1586,7 @@  static void qmi_device_qmux_destroy(struct qmi_device *device)
 	struct qmi_device_qmux *qmux =
 		l_container_of(device, struct qmi_device_qmux, super);
 
+	l_free(qmux->version_str);
 	l_free(qmux);
 }