diff options
author | Steve Schrock <steve.schrock@getcruise.com> | 2024-04-23 14:59:36 +0000 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2024-04-23 10:06:14 -0500 |
commit | a2ca0a16788a6660575957c8f2923c4cda776886 (patch) | |
tree | c04b8c973be9dbafa95150c91d88653f50c21aa5 | |
parent | 4b0225684d56a384c1f4a7758161a845e6a7b579 (diff) | |
download | ofono-a2ca0a16788a6660575957c8f2923c4cda776886.tar.gz |
qmimodem: Remove unregister/cancel_all functions
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.
-rw-r--r-- | drivers/qmimodem/qmi.c | 30 | ||||
-rw-r--r-- | drivers/qmimodem/qmi.h | 2 | ||||
-rw-r--r-- | plugins/gobi.c | 3 |
3 files changed, 15 insertions, 20 deletions
diff --git a/drivers/qmimodem/qmi.c b/drivers/qmimodem/qmi.c index 74fcf3c89..69a0e535f 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 921136f38..0075f7380 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 76507cd7f..550ce7873 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 |