diff mbox series

[v2,3/3] qmimodem: Remove unregister/cancel_all functions

Message ID 20240423145936.276945-3-steve.schrock@getcruise.com (mailing list archive)
State Accepted
Commit a2ca0a16788a6660575957c8f2923c4cda776886
Headers show
Series [v2,1/3] qmimodem: Remove redundant unregister all calls | expand

Commit Message

Steve Schrock April 23, 2024, 2:59 p.m. UTC
gobi was the final user of these functions in its disable function. It
would perform this cleanup before sending a final message. This is not
necessary because gobi does not register for any notifications and the
only sends that might be in progress should only occur during
initialization. If a client actually needs this functionality it should
free the service and create a new one.

These functions are still used internally in qmi.
---
 drivers/qmimodem/qmi.c | 30 +++++++++++++++---------------
 drivers/qmimodem/qmi.h |  2 --
 plugins/gobi.c         |  3 ---
 3 files changed, 15 insertions(+), 20 deletions(-)
diff mbox series

Patch

diff --git a/drivers/qmimodem/qmi.c b/drivers/qmimodem/qmi.c
index 74fcf3c8927e..69a0e535f689 100644
--- a/drivers/qmimodem/qmi.c
+++ b/drivers/qmimodem/qmi.c
@@ -2720,19 +2720,6 @@  bool qmi_service_create(struct qmi_device *device,
 						user_data, destroy);
 }
 
-void qmi_service_free(struct qmi_service *service)
-{
-	if (!service)
-		return;
-
-	qmi_service_cancel_all(service);
-	qmi_service_unregister_all(service);
-
-	service_family_unref(service->family);
-
-	l_free(service);
-}
-
 const char *qmi_service_get_identifier(struct qmi_service *service)
 {
 	if (!service)
@@ -2896,7 +2883,7 @@  static void remove_client(struct l_queue *queue, unsigned int service_handle)
 				L_UINT_TO_PTR(service_handle));
 }
 
-bool qmi_service_cancel_all(struct qmi_service *service)
+static bool qmi_service_cancel_all(struct qmi_service *service)
 {
 	struct qmi_device *device;
 
@@ -2980,7 +2967,7 @@  static bool remove_notify_if_handle_match(void *data, void *user_data)
 	return true;
 }
 
-bool qmi_service_unregister_all(struct qmi_service *service)
+static bool qmi_service_unregister_all(struct qmi_service *service)
 {
 	if (!service)
 		return false;
@@ -2991,3 +2978,16 @@  bool qmi_service_unregister_all(struct qmi_service *service)
 
 	return true;
 }
+
+void qmi_service_free(struct qmi_service *service)
+{
+	if (!service)
+		return;
+
+	qmi_service_cancel_all(service);
+	qmi_service_unregister_all(service);
+
+	service_family_unref(service->family);
+
+	l_free(service);
+}
diff --git a/drivers/qmimodem/qmi.h b/drivers/qmimodem/qmi.h
index 921136f384db..0075f73803cc 100644
--- a/drivers/qmimodem/qmi.h
+++ b/drivers/qmimodem/qmi.h
@@ -167,10 +167,8 @@  uint16_t qmi_service_send(struct qmi_service *service,
 				qmi_result_func_t func,
 				void *user_data, qmi_destroy_func_t destroy);
 bool qmi_service_cancel(struct qmi_service *service, uint16_t id);
-bool qmi_service_cancel_all(struct qmi_service *service);
 
 uint16_t qmi_service_register(struct qmi_service *service,
 				uint16_t message, qmi_result_func_t func,
 				void *user_data, qmi_destroy_func_t destroy);
 bool qmi_service_unregister(struct qmi_service *service, uint16_t id);
-bool qmi_service_unregister_all(struct qmi_service *service);
diff --git a/plugins/gobi.c b/plugins/gobi.c
index 76507cd7f299..550ce78733f5 100644
--- a/plugins/gobi.c
+++ b/plugins/gobi.c
@@ -471,9 +471,6 @@  static int gobi_disable(struct ofono_modem *modem)
 
 	DBG("%p", modem);
 
-	qmi_service_cancel_all(data->dms);
-	qmi_service_unregister_all(data->dms);
-
 	/*
 	 * Telit QMI modem must remain online. If powered down, it also
 	 * powers down the sim card, and QMI interface has no way to bring