ofono.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/5] qmimodem: Use stdbool instead of gboolean
@ 2024-03-04 20:34 Denis Kenzior
  2024-03-04 20:34 ` [PATCH 2/5] qmimodem: Use ell endianness converter helpers Denis Kenzior
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Denis Kenzior @ 2024-03-04 20:34 UTC (permalink / raw)
  To: ofono; +Cc: Denis Kenzior

---
 drivers/qmimodem/sim-legacy.c |  4 ++--
 drivers/qmimodem/sim.c        | 16 ++++++++--------
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/drivers/qmimodem/sim-legacy.c b/drivers/qmimodem/sim-legacy.c
index cb4ad0646037..12e5ab079111 100644
--- a/drivers/qmimodem/sim-legacy.c
+++ b/drivers/qmimodem/sim-legacy.c
@@ -250,13 +250,13 @@ static void process_uim_state(struct ofono_sim *sim, uint8_t state)
 
 	switch (state) {
 	case QMI_DMS_UIM_STATE_INIT_COMPLETE:
-		ofono_sim_inserted_notify(sim, TRUE);
+		ofono_sim_inserted_notify(sim, true);
 		ofono_sim_initialized_notify(sim);
 		break;
 	case QMI_DMS_UIM_STATE_INIT_FAILED:
 	case QMI_DMS_UIM_STATE_NOT_PRESENT:
 	case QMI_DMS_UIM_STATE_INVALID:
-		ofono_sim_inserted_notify(sim, FALSE);
+		ofono_sim_inserted_notify(sim, false);
 		break;
 	}
 }
diff --git a/drivers/qmimodem/sim.c b/drivers/qmimodem/sim.c
index 625846c5efd9..0b73b3c7598b 100644
--- a/drivers/qmimodem/sim.c
+++ b/drivers/qmimodem/sim.c
@@ -121,7 +121,7 @@ static void get_file_attributes_cb(struct qmi_result *result, void *user_data)
 	int flen, rlen, str;
 	unsigned char access[3];
 	unsigned char file_status;
-	gboolean ok;
+	bool ok;
 
 	DBG("");
 
@@ -146,7 +146,7 @@ static void get_file_attributes_cb(struct qmi_result *result, void *user_data)
 		file_status = EF_STATUS_VALID;
 		break;
 	default:
-		ok = FALSE;
+		ok = false;
 		break;
 	}
 
@@ -608,7 +608,7 @@ static void query_passwd_state_cb(struct qmi_result *result,
 		data->retry_count = 0;
 		if (sim_stat.passwd_state == OFONO_SIM_PASSWORD_INVALID) {
 			CALLBACK_WITH_FAILURE(cb, -1, cbd->data);
-			ofono_sim_inserted_notify(sim, FALSE);
+			ofono_sim_inserted_notify(sim, false);
 		} else
 			CALLBACK_WITH_SUCCESS(cb, sim_stat.passwd_state,
 								cbd->data);
@@ -621,7 +621,7 @@ static void query_passwd_state_cb(struct qmi_result *result,
 							sim_stat.card_state);
 			data->retry_count = 0;
 			CALLBACK_WITH_FAILURE(cb, -1, cbd->data);
-			ofono_sim_inserted_notify(sim, FALSE);
+			ofono_sim_inserted_notify(sim, false);
 		} else {
 			DBG("Retry command");
 			retry_cbd = cb_data_new(cb, cbd->data);
@@ -635,7 +635,7 @@ static void query_passwd_state_cb(struct qmi_result *result,
 		DBG("Command failed");
 		data->retry_count = 0;
 		CALLBACK_WITH_FAILURE(cb, -1, cbd->data);
-		ofono_sim_inserted_notify(sim, FALSE);
+		ofono_sim_inserted_notify(sim, false);
 		break;
 	}
 }
@@ -781,7 +781,7 @@ static void get_card_status_cb(struct qmi_result *result, void *user_data)
 	case 0x02:	/* Error */
 		break;
 	case 0x01:	/* Present */
-		ofono_sim_inserted_notify(sim, TRUE);
+		ofono_sim_inserted_notify(sim, true);
 		ofono_sim_initialized_notify(sim);
 		break;
 	}
@@ -806,10 +806,10 @@ static void card_status_notify(struct qmi_result *result, void *user_data)
 	switch (sim_stat.card_state) {
 	case 0x00:	/* Absent */
 	case 0x02:	/* Error */
-		ofono_sim_inserted_notify(sim, FALSE);
+		ofono_sim_inserted_notify(sim, false);
 		break;
 	case 0x01:	/* Present */
-		ofono_sim_inserted_notify(sim, TRUE);
+		ofono_sim_inserted_notify(sim, true);
 		break;
 	}
 }
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/5] qmimodem: Use ell endianness converter helpers
  2024-03-04 20:34 [PATCH 1/5] qmimodem: Use stdbool instead of gboolean Denis Kenzior
@ 2024-03-04 20:34 ` Denis Kenzior
  2024-03-04 20:34 ` [PATCH 3/5] qmimodem: Use l_new / l_free Denis Kenzior
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Denis Kenzior @ 2024-03-04 20:34 UTC (permalink / raw)
  To: ofono; +Cc: Denis Kenzior

---
 drivers/qmimodem/netmon.c               |  8 ++++----
 drivers/qmimodem/network-registration.c | 12 ++++++------
 drivers/qmimodem/sim.c                  |  4 ++--
 drivers/qmimodem/sms.c                  | 24 ++++++++++++------------
 4 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/drivers/qmimodem/netmon.c b/drivers/qmimodem/netmon.c
index f9f85eeeae0e..1190a37d66a7 100644
--- a/drivers/qmimodem/netmon.c
+++ b/drivers/qmimodem/netmon.c
@@ -90,7 +90,7 @@ static void get_rssi_cb(struct qmi_result *result, void *user_data)
 	/* RSSI */
 	rssi = qmi_result_get(result, 0x11, &len);
 	if (rssi) {
-		num = GUINT16_FROM_LE(rssi->count);
+		num = L_LE16_TO_CPU(rssi->count);
 		for (i = 0; i < num; i++) {
 			DBG("RSSI: %hhu on RAT %hhd",
 				rssi->info[i].rssi,
@@ -127,14 +127,14 @@ static void get_rssi_cb(struct qmi_result *result, void *user_data)
 	/* Bit error rate */
 	ber = qmi_result_get(result, 0x15, &len);
 	if (ber) {
-		num = GUINT16_FROM_LE(ber->count);
+		num = L_LE16_TO_CPU(ber->count);
 		for (i = 0; i < ber->count; i++) {
 			DBG("Bit error rate: %hu on RAT %hhd",
-				GUINT16_FROM_LE(ber->info[i].rate),
+				L_LE16_TO_CPU(ber->info[i].rate),
 				ber->info[i].rat);
 		}
 
-		props.ber = GUINT16_FROM_LE(ber->info[0].rate);
+		props.ber = L_LE16_TO_CPU(ber->info[0].rate);
 		if (props.ber > 7)
 			props.ber = -1;
 	} else {
diff --git a/drivers/qmimodem/network-registration.c b/drivers/qmimodem/network-registration.c
index 6bc8fbc5d226..a1c507eb371f 100644
--- a/drivers/qmimodem/network-registration.c
+++ b/drivers/qmimodem/network-registration.c
@@ -134,8 +134,8 @@ static bool extract_ss_info(struct qmi_result *result, int *status,
 
 	plmn = qmi_result_get(result, QMI_NAS_RESULT_CURRENT_PLMN, &len);
 	if (plmn) {
-		uint16_t mcc = GUINT16_FROM_LE(plmn->mcc);
-		uint16_t mnc = GUINT16_FROM_LE(plmn->mnc);
+		uint16_t mcc = L_LE16_TO_CPU(plmn->mcc);
+		uint16_t mnc = L_LE16_TO_CPU(plmn->mnc);
 
 		if (mcc > 999)
 			mcc = 999;
@@ -311,7 +311,7 @@ static void scan_nets_cb(struct qmi_result *result, void *user_data)
 
 	netlist = ptr;
 
-	num = GUINT16_FROM_LE(netlist->count);
+	num = L_LE16_TO_CPU(netlist->count);
 
 	DBG("found %d operators", num);
 
@@ -325,8 +325,8 @@ static void scan_nets_cb(struct qmi_result *result, void *user_data)
 
 	for (i = 0; i < num; i++) {
 		const struct qmi_nas_network_info *netinfo = ptr + offset;
-		uint16_t mcc = GUINT16_FROM_LE(netinfo->mcc);
-		uint16_t mnc = GUINT16_FROM_LE(netinfo->mnc);
+		uint16_t mcc = L_LE16_TO_CPU(netinfo->mcc);
+		uint16_t mnc = L_LE16_TO_CPU(netinfo->mnc);
 
 		if (mcc > 999)
 			mcc = 999;
@@ -361,7 +361,7 @@ static void scan_nets_cb(struct qmi_result *result, void *user_data)
 	if (!netrat)
 		goto done;
 
-	if (GUINT16_FROM_LE(netrat->count) != num)
+	if (L_LE16_TO_CPU(netrat->count) != num)
 		goto done;
 
 	for (i = 0; i < num; i++) {
diff --git a/drivers/qmimodem/sim.c b/drivers/qmimodem/sim.c
index 0b73b3c7598b..07cbbaa47992 100644
--- a/drivers/qmimodem/sim.c
+++ b/drivers/qmimodem/sim.c
@@ -132,7 +132,7 @@ static void get_file_attributes_cb(struct qmi_result *result, void *user_data)
 	if (!attr)
 		goto error;
 
-	raw_len = GUINT16_FROM_LE(attr->raw_len);
+	raw_len = L_LE16_TO_CPU(attr->raw_len);
 
 	switch (data->app_type) {
 	case 0x01:	/* SIM card */
@@ -547,7 +547,7 @@ static enum get_card_status_result handle_get_card_status_data(
 			info2 = ptr + offset;
 			offset += sizeof(struct qmi_uim_app_info2);
 
-			index = GUINT16_FROM_LE(status->index_gw_pri);
+			index = L_LE16_TO_CPU(status->index_gw_pri);
 
 			if ((index & 0xff) == n && (index >> 8) == i) {
 				if (get_card_status(slot, info1, info2,
diff --git a/drivers/qmimodem/sms.c b/drivers/qmimodem/sms.c
index 041344bb3044..f8ed96c435e0 100644
--- a/drivers/qmimodem/sms.c
+++ b/drivers/qmimodem/sms.c
@@ -197,7 +197,7 @@ static void qmi_submit(struct ofono_sms *sms,
 	message = alloca(3 + pdu_len);
 
 	message->msg_format = 0x06;
-	message->msg_length = GUINT16_TO_LE(pdu_len);
+	message->msg_length = L_CPU_TO_LE16(pdu_len);
 	memcpy(message->msg_data, pdu, pdu_len);
 
 	param = qmi_param_new();
@@ -357,7 +357,7 @@ static void delete_msg_cb(struct qmi_result *result, void *user_data)
 		 */
 		if (msg < data->msg_list->cnt)
 			raw_read(sms, data->msg_list->msg[msg].type,
-				GUINT32_FROM_LE(data->msg_list->msg[msg].ndx));
+				L_LE32_TO_CPU(data->msg_list->msg[msg].ndx));
 		else
 			get_msg_list(sms);
 	}
@@ -422,7 +422,7 @@ static void raw_read_cb(struct qmi_result *result, void *user_data)
 		uint16_t plen;
 		uint16_t tpdu_len;
 
-		plen = GUINT16_FROM_LE(msg->msg_length);
+		plen = L_LE16_TO_CPU(msg->msg_length);
 		tpdu_len = plen - msg->msg_data[0] - 1;
 
 		ofono_sms_deliver_notify(sms, msg->msg_data, plen, tpdu_len);
@@ -482,12 +482,12 @@ static void get_msg_list_cb(struct qmi_result *result, void *user_data)
 		goto done;
 	}
 
-	cnt = GUINT32_FROM_LE(list->cnt);
+	cnt = L_LE32_TO_CPU(list->cnt);
 	DBG("msgs found %d", cnt);
 
 	for (tmp = 0; tmp < cnt; tmp++) {
 		DBG("unread type %d ndx %d", list->msg[tmp].type,
-			GUINT32_FROM_LE(list->msg[tmp].ndx));
+			L_LE32_TO_CPU(list->msg[tmp].ndx));
 	}
 
 	/* free list from last time */
@@ -509,7 +509,7 @@ static void get_msg_list_cb(struct qmi_result *result, void *user_data)
 
 		data->rd_msg_num = 0;
 		raw_read(sms, data->msg_list->msg[0].type,
-				GUINT32_FROM_LE(data->msg_list->msg[0].ndx));
+				L_LE32_TO_CPU(data->msg_list->msg[0].ndx));
 		return;
 	}
 
@@ -612,12 +612,12 @@ static void event_notify(struct qmi_result *result, void *user_data)
 			DBG("msg mode not found, use mode %d", data->msg_mode);
 
 		DBG("msg type %d ndx %d mode %d", notify->storage_type,
-			GUINT32_FROM_LE(notify->storage_index), data->msg_mode);
+			L_LE32_TO_CPU(notify->storage_index), data->msg_mode);
 
 		/* don't read if list is being processed, get this msg later */
 		if (!data->msg_list_chk)
 			raw_read(sms, notify->storage_type,
-					GUINT32_FROM_LE(notify->storage_index));
+					L_LE32_TO_CPU(notify->storage_index));
 	} else {
 		/* route is either transfer only or transfer and ACK */
 		const struct qmi_wms_result_message *message;
@@ -626,11 +626,11 @@ static void event_notify(struct qmi_result *result, void *user_data)
 		if (message) {
 			uint16_t plen;
 
-			plen = GUINT16_FROM_LE(message->msg_length);
+			plen = L_LE16_TO_CPU(message->msg_length);
 
 			DBG("ack_required %d transaction id %u",
 				message->ack_required,
-				GUINT32_FROM_LE(message->transaction_id));
+				L_LE32_TO_CPU(message->transaction_id));
 			DBG("msg format %d PDU length %d",
 				message->msg_format, plen);
 
@@ -688,7 +688,7 @@ static void get_routes_cb(struct qmi_result *result, void *user_data)
         if (!list)
 		goto done;
 
-	num = GUINT16_FROM_LE(list->count);
+	num = L_LE16_TO_CPU(list->count);
 
 	DBG("found %d routes", num);
 
@@ -705,7 +705,7 @@ static void get_routes_cb(struct qmi_result *result, void *user_data)
 	len = 2 + (1 * 4);
 	new_list = alloca(len);
 
-	new_list->count = GUINT16_TO_LE(1);
+	new_list->count = L_CPU_TO_LE16(1);
 	new_list->route[0].msg_type = QMI_WMS_MSG_TYPE_P2P;
 	new_list->route[0].msg_class = QMI_WMS_MSG_CLASS_NONE;
 	new_list->route[0].storage_type = QMI_WMS_STORAGE_TYPE_NV;
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 3/5] qmimodem: Use l_new / l_free
  2024-03-04 20:34 [PATCH 1/5] qmimodem: Use stdbool instead of gboolean Denis Kenzior
  2024-03-04 20:34 ` [PATCH 2/5] qmimodem: Use ell endianness converter helpers Denis Kenzior
@ 2024-03-04 20:34 ` Denis Kenzior
  2024-03-04 20:34 ` [PATCH 4/5] gobi: Replace g_try_new0 / g_free with ell equivalents Denis Kenzior
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Denis Kenzior @ 2024-03-04 20:34 UTC (permalink / raw)
  To: ofono; +Cc: Denis Kenzior

Convert from using GLib g_new0 / g_free to use ell
---
 drivers/qmimodem/call-barring.c         | 16 +++++------
 drivers/qmimodem/call-forwarding.c      | 22 +++++++-------
 drivers/qmimodem/call-settings.c        | 16 +++++------
 drivers/qmimodem/devinfo.c              | 20 ++++++-------
 drivers/qmimodem/gprs-context.c         | 22 +++++++-------
 drivers/qmimodem/gprs.c                 | 14 ++++-----
 drivers/qmimodem/location-reporting.c   | 12 ++++----
 drivers/qmimodem/lte.c                  | 10 +++----
 drivers/qmimodem/netmon.c               | 10 +++----
 drivers/qmimodem/network-registration.c | 38 ++++++++++---------------
 drivers/qmimodem/radio-settings.c       | 14 ++++-----
 drivers/qmimodem/sim-legacy.c           | 16 +++++------
 drivers/qmimodem/sim.c                  | 36 +++++++++++------------
 drivers/qmimodem/sms.c                  | 33 ++++++++++-----------
 drivers/qmimodem/ussd.c                 | 10 +++----
 drivers/qmimodem/util.h                 |  5 ++--
 drivers/qmimodem/voicecall.c            |  4 +--
 17 files changed, 141 insertions(+), 157 deletions(-)

diff --git a/drivers/qmimodem/call-barring.c b/drivers/qmimodem/call-barring.c
index dc84026a638b..6224893871a0 100644
--- a/drivers/qmimodem/call-barring.c
+++ b/drivers/qmimodem/call-barring.c
@@ -110,12 +110,12 @@ static void qmi_set(struct ofono_call_barring *barr, const char *lock,
 	qmi_param_append(param, 0x11, 4, passwd);
 
 	if (qmi_service_send(bd->voice, QMI_VOICE_SET_SUPS_SERVICE, param,
-				set_cb, cbd, g_free) > 0)
+				set_cb, cbd, l_free) > 0)
 		return;
 
 	qmi_param_free(param);
 error:
-	g_free(cbd);
+	l_free(cbd);
 	CALLBACK_WITH_FAILURE(cb, data);
 }
 
@@ -156,12 +156,12 @@ static void qmi_query(struct ofono_call_barring *barr, const char *lock,
 		qmi_param_append_uint8(param, 0x10, cls);
 
 	if (qmi_service_send(bd->voice, QMI_VOICE_GET_CALL_BARRING, param,
-				query_cb, cbd, g_free) > 0)
+				query_cb, cbd, l_free) > 0)
 		return;
 
 	qmi_param_free(param);
 error:
-	g_free(cbd);
+	l_free(cbd);
 	CALLBACK_WITH_FAILURE(cb, -1, data);
 }
 
@@ -194,12 +194,12 @@ static void qmi_set_passwd(struct ofono_call_barring *barr, const char *lock,
 	qmi_param_append(param, 0x01, sizeof(ssd), &ssd);
 
 	if (qmi_service_send(bd->voice, QMI_VOICE_SET_CALL_BARRING_PWD, param,
-				set_cb, cbd, g_free) > 0)
+				set_cb, cbd, l_free) > 0)
 		return;
 
 	qmi_param_free(param);
 error:
-	g_free(cbd);
+	l_free(cbd);
 	CALLBACK_WITH_FAILURE(cb, data);
 }
 
@@ -229,7 +229,7 @@ static int qmi_call_barring_probe(struct ofono_call_barring *barr,
 
 	DBG("");
 
-	bd = g_new0(struct call_barring_data, 1);
+	bd = l_new(struct call_barring_data, 1);
 
 	ofono_call_barring_set_data(barr, bd);
 
@@ -250,7 +250,7 @@ static void qmi_call_barring_remove(struct ofono_call_barring *barr)
 	if (bd->voice)
 		qmi_service_unref(bd->voice);
 
-	g_free(bd);
+	l_free(bd);
 }
 
 static const struct ofono_call_barring_driver driver = {
diff --git a/drivers/qmimodem/call-forwarding.c b/drivers/qmimodem/call-forwarding.c
index 5972055feb74..2a415b2a9c11 100644
--- a/drivers/qmimodem/call-forwarding.c
+++ b/drivers/qmimodem/call-forwarding.c
@@ -110,7 +110,7 @@ static void query_cb(struct qmi_result *result, void *user_data)
 
 		num = *p++;
 
-		list = g_new0(struct ofono_call_forwarding_condition, num);
+		list = l_new(struct ofono_call_forwarding_condition, num);
 
 		for (i = 0; i < num; i++) {
 			struct call_forwarding_info_ext *info = (void *)p;
@@ -119,7 +119,7 @@ static void query_cb(struct qmi_result *result, void *user_data)
 			/* do not try to access beyond buffer end */
 			if (p + sizeof(*info) > end ||
 					p + sizeof(*info) + info->len > end) {
-				g_free(list);
+				l_free(list);
 				goto error;
 			}
 
@@ -135,7 +135,7 @@ static void query_cb(struct qmi_result *result, void *user_data)
 		}
 
 		CALLBACK_WITH_SUCCESS(cb, num, list, cbd->data);
-		g_free(list);
+		l_free(list);
 		return;
 	}
 
@@ -163,12 +163,12 @@ static void qmi_query(struct ofono_call_forwarding *cf, int type, int cls,
 		qmi_param_append_uint8(param, 0x10, cls);
 
 	if (qmi_service_send(cfd->voice, QMI_VOICE_GET_CALL_FWDING, param,
-				query_cb, cbd, g_free) > 0)
+				query_cb, cbd, l_free) > 0)
 		return;
 
 	qmi_param_free(param);
 error:
-	g_free(cbd);
+	l_free(cbd);
 	CALLBACK_WITH_FAILURE(cb, 0, NULL, data);
 }
 
@@ -224,12 +224,12 @@ static void qmi_register(struct ofono_call_forwarding *cf, int type, int cls,
 	qmi_param_append(param, 0x14, sizeof(tpd), &tpd);
 
 	if (qmi_service_send(cfd->voice, QMI_VOICE_SET_SUPS_SERVICE, param,
-				set_cb, cbd, g_free) > 0)
+				set_cb, cbd, l_free) > 0)
 		return;
 
 	qmi_param_free(param);
 error:
-	g_free(cbd);
+	l_free(cbd);
 	CALLBACK_WITH_FAILURE(cb, data);
 }
 
@@ -261,13 +261,13 @@ static void qmi_set(struct ofono_call_forwarding *cf, int type, int cls,
 		qmi_param_append_uint8(param, 0x10, cls);
 
 	if (qmi_service_send(cfd->voice, QMI_VOICE_SET_SUPS_SERVICE, param,
-				set_cb, cbd, g_free) > 0)
+				set_cb, cbd, l_free) > 0)
 		return;
 
 	qmi_param_free(param);
 
 error:
-	g_free(cbd);
+	l_free(cbd);
 	CALLBACK_WITH_FAILURE(cb, data);
 }
 
@@ -315,7 +315,7 @@ static int qmi_call_forwarding_probe(struct ofono_call_forwarding *cf,
 
 	DBG("");
 
-	cfd = g_new0(struct call_forwarding_data, 1);
+	cfd = l_new(struct call_forwarding_data, 1);
 
 	ofono_call_forwarding_set_data(cf, cfd);
 
@@ -336,7 +336,7 @@ static void qmi_call_forwarding_remove(struct ofono_call_forwarding *cf)
 	if (cfd->voice)
 		qmi_service_unref(cfd->voice);
 
-	g_free(cfd);
+	l_free(cfd);
 }
 
 static const struct ofono_call_forwarding_driver driver = {
diff --git a/drivers/qmimodem/call-settings.c b/drivers/qmimodem/call-settings.c
index 07b9d543be37..53b2f1f21fc9 100644
--- a/drivers/qmimodem/call-settings.c
+++ b/drivers/qmimodem/call-settings.c
@@ -49,10 +49,10 @@ static void query_status(struct ofono_call_settings *cs, uint16_t message,
 	if (!csd)
 		goto error;
 
-	if (qmi_service_send(csd->voice, message, NULL, fn, cbd, g_free) > 0)
+	if (qmi_service_send(csd->voice, message, NULL, fn, cbd, l_free) > 0)
 		return;
 error:
-	g_free(cbd);
+	l_free(cbd);
 	CALLBACK_WITH_FAILURE(cb, -1, data);
 }
 
@@ -171,10 +171,10 @@ static void qmi_clir_query(struct ofono_call_settings *cs,
 		goto error;
 
 	if (qmi_service_send(csd->voice, QMI_VOICE_GET_CLIR, NULL,
-						clir_cb, cbd, g_free) > 0)
+						clir_cb, cbd, l_free) > 0)
 		return;
 error:
-	g_free(cbd);
+	l_free(cbd);
 	CALLBACK_WITH_FAILURE(cb, -1, -1, data);
 }
 
@@ -221,12 +221,12 @@ static void qmi_cw_set(struct ofono_call_settings *cs, int mode, int cls,
 		qmi_param_append_uint8(param, 0x10, cls);
 
 	if (qmi_service_send(csd->voice, QMI_VOICE_SET_SUPS_SERVICE, param,
-				cw_set_cb, cbd, g_free) > 0)
+				cw_set_cb, cbd, l_free) > 0)
 		return;
 
 	qmi_param_free(param);
 error:
-	g_free(cbd);
+	l_free(cbd);
 	CALLBACK_WITH_FAILURE(cb, data);
 }
 
@@ -304,7 +304,7 @@ static int qmi_call_settings_probe(struct ofono_call_settings *cs,
 
 	DBG("");
 
-	csd = g_new0(struct call_settings_data, 1);
+	csd = l_new(struct call_settings_data, 1);
 
 	ofono_call_settings_set_data(cs, csd);
 
@@ -327,7 +327,7 @@ static void qmi_call_settings_remove(struct ofono_call_settings *cs)
 		qmi_service_unref(csd->voice);
 	}
 
-	g_free(csd);
+	l_free(csd);
 }
 
 static const struct ofono_call_settings_driver driver = {
diff --git a/drivers/qmimodem/devinfo.c b/drivers/qmimodem/devinfo.c
index 96224d3db361..0172614b8aae 100644
--- a/drivers/qmimodem/devinfo.c
+++ b/drivers/qmimodem/devinfo.c
@@ -71,12 +71,12 @@ static void qmi_query_manufacturer(struct ofono_devinfo *devinfo,
 	DBG("");
 
 	if (qmi_service_send(data->dms, QMI_DMS_GET_MANUFACTURER, NULL,
-						string_cb, cbd, g_free) > 0)
+						string_cb, cbd, l_free) > 0)
 		return;
 
 	CALLBACK_WITH_FAILURE(cb, NULL, cbd->data);
 
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void qmi_query_model(struct ofono_devinfo *devinfo,
@@ -88,12 +88,12 @@ static void qmi_query_model(struct ofono_devinfo *devinfo,
 	DBG("");
 
 	if (qmi_service_send(data->dms, QMI_DMS_GET_MODEL_ID, NULL,
-					string_cb, cbd, g_free) > 0)
+					string_cb, cbd, l_free) > 0)
 		return;
 
 	CALLBACK_WITH_FAILURE(cb, NULL, cbd->data);
 
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void qmi_query_revision(struct ofono_devinfo *devinfo,
@@ -105,12 +105,12 @@ static void qmi_query_revision(struct ofono_devinfo *devinfo,
 	DBG("");
 
 	if (qmi_service_send(data->dms, QMI_DMS_GET_REV_ID, NULL,
-					string_cb, cbd, g_free) > 0)
+					string_cb, cbd, l_free) > 0)
 		return;
 
 	CALLBACK_WITH_FAILURE(cb, NULL, cbd->data);
 
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void get_ids_cb(struct qmi_result *result, void *user_data)
@@ -166,12 +166,12 @@ static void qmi_query_serial(struct ofono_devinfo *devinfo,
 	cbd->user = devinfo;
 
 	if (qmi_service_send(data->dms, QMI_DMS_GET_IDS, NULL,
-					get_ids_cb, cbd, g_free) > 0)
+					get_ids_cb, cbd, l_free) > 0)
 		return;
 
 	CALLBACK_WITH_FAILURE(cb, NULL, cbd->data);
 
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void get_caps_cb(struct qmi_result *result, void *user_data)
@@ -246,7 +246,7 @@ static int qmi_devinfo_probe(struct ofono_devinfo *devinfo,
 
 	DBG("");
 
-	data = g_new0(struct devinfo_data, 1);
+	data = l_new(struct devinfo_data, 1);
 
 	ofono_devinfo_set_data(devinfo, data);
 
@@ -266,7 +266,7 @@ static void qmi_devinfo_remove(struct ofono_devinfo *devinfo)
 
 	qmi_service_unref(data->dms);
 
-	g_free(data);
+	l_free(data);
 }
 
 static const struct ofono_devinfo_driver driver = {
diff --git a/drivers/qmimodem/gprs-context.c b/drivers/qmimodem/gprs-context.c
index f575c5e2e1be..fb2069020833 100644
--- a/drivers/qmimodem/gprs-context.c
+++ b/drivers/qmimodem/gprs-context.c
@@ -30,8 +30,6 @@
 #include <ofono/modem.h>
 #include <ofono/gprs-context.h>
 
-#include <ell/ell.h>
-
 #include "qmi.h"
 #include "wds.h"
 #include "util.h"
@@ -96,7 +94,7 @@ static void get_settings_cb(struct qmi_result *result, void *user_data)
 	apn = qmi_result_get_string(result, QMI_WDS_RESULT_APN);
 	if (apn) {
 		DBG("APN: %s", apn);
-		g_free(apn);
+		l_free(apn);
 	}
 
 	if (qmi_result_get_uint8(result, QMI_WDS_RESULT_PDP_TYPE, &pdp_type))
@@ -173,7 +171,7 @@ static void start_net_cb(struct qmi_result *result, void *user_data)
 	cbd->user = gc;
 
 	if (qmi_service_send(data->wds, QMI_WDS_GET_CURRENT_SETTINGS, NULL,
-					get_settings_cb, cbd, g_free) > 0)
+					get_settings_cb, cbd, l_free) > 0)
 		return;
 
 	CALLBACK_WITH_SUCCESS(cb, cbd->data);
@@ -207,14 +205,14 @@ static void qmi_gprs_read_settings(struct ofono_gprs_context* gc,
 	cbd->user = gc;
 
 	if (qmi_service_send(data->wds, QMI_WDS_START_NETWORK, NULL,
-					start_net_cb, cbd, g_free) > 0)
+					start_net_cb, cbd, l_free) > 0)
 		return;
 
 	data->active_context = 0;
 
 	CALLBACK_WITH_FAILURE(cb, cbd->data);
 
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static uint8_t auth_method_to_qmi_auth(enum ofono_gprs_auth_method method)
@@ -279,7 +277,7 @@ static void qmi_activate_primary(struct ofono_gprs_context *gc,
 					strlen(ctx->password), ctx->password);
 
 	if (qmi_service_send(data->wds, QMI_WDS_START_NETWORK, param,
-					start_net_cb, cbd, g_free) > 0)
+					start_net_cb, cbd, l_free) > 0)
 		return;
 
 	qmi_param_free(param);
@@ -289,7 +287,7 @@ error:
 
 	CALLBACK_WITH_FAILURE(cb, cbd->data);
 
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void stop_net_cb(struct qmi_result *result, void *user_data)
@@ -333,7 +331,7 @@ static void qmi_deactivate_primary(struct ofono_gprs_context *gc,
 						data->pkt_handle);
 
 	if (qmi_service_send(data->wds, QMI_WDS_STOP_NETWORK, param,
-					stop_net_cb, cbd, g_free) > 0)
+					stop_net_cb, cbd, l_free) > 0)
 		return;
 
 	qmi_param_free(param);
@@ -341,7 +339,7 @@ static void qmi_deactivate_primary(struct ofono_gprs_context *gc,
 	if (cb)
 		CALLBACK_WITH_FAILURE(cb, user_data);
 
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void qmi_gprs_context_detach_shutdown(struct ofono_gprs_context *gc,
@@ -459,7 +457,7 @@ static int qmi_gprs_context_probe(struct ofono_gprs_context *gc,
 
 	DBG("");
 
-	data = g_new0(struct gprs_context_data, 1);
+	data = l_new(struct gprs_context_data, 1);
 
 	ofono_gprs_context_set_data(gc, data);
 	data->dev = device;
@@ -483,7 +481,7 @@ static void qmi_gprs_context_remove(struct ofono_gprs_context *gc)
 		qmi_service_unref(data->wds);
 	}
 
-	g_free(data);
+	l_free(data);
 }
 
 static const struct ofono_gprs_context_driver driver = {
diff --git a/drivers/qmimodem/gprs.c b/drivers/qmimodem/gprs.c
index 5dd23329eca2..a66863834a5f 100644
--- a/drivers/qmimodem/gprs.c
+++ b/drivers/qmimodem/gprs.c
@@ -117,7 +117,7 @@ static void get_lte_attach_param_cb(struct qmi_result *result, void *user_data)
 		ofono_info("LTE attach IP type: %hhd", iptype);
 
 	ofono_gprs_cid_activated(gprs, data->last_auto_context_id, apn);
-	g_free(apn);
+	l_free(apn);
 
 	return;
 
@@ -286,12 +286,12 @@ static void qmi_set_attached(struct ofono_gprs *gprs, int attached,
 	param = qmi_param_new_uint8(QMI_NAS_PARAM_ATTACH_ACTION, action);
 
 	if (qmi_service_send(data->nas, QMI_NAS_ATTACH_DETACH, param,
-					attach_detach_cb, cbd, g_free) > 0)
+					attach_detach_cb, cbd, l_free) > 0)
 		return;
 
 	qmi_param_free(param);
 	CALLBACK_WITH_FAILURE(cb, cbd->data);
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void get_ss_info_cb(struct qmi_result *result, void *user_data)
@@ -329,12 +329,12 @@ static void qmi_attached_status(struct ofono_gprs *gprs,
 
 	cbd->user = gprs;
 	if (qmi_service_send(data->nas, QMI_NAS_GET_SERVING_SYSTEM, NULL,
-					get_ss_info_cb, cbd, g_free) > 0)
+					get_ss_info_cb, cbd, l_free) > 0)
 		return;
 
 	CALLBACK_WITH_FAILURE(cb, -1, cbd->data);
 
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void create_wds_cb(struct qmi_service *service, void *user_data)
@@ -396,7 +396,7 @@ static int qmi_gprs_probe(struct ofono_gprs *gprs,
 
 	DBG("");
 
-	data = g_new0(struct gprs_data, 1);
+	data = l_new(struct gprs_data, 1);
 
 	ofono_gprs_set_data(gprs, data);
 
@@ -426,7 +426,7 @@ static void qmi_gprs_remove(struct ofono_gprs *gprs)
 
 	qmi_service_unref(data->nas);
 
-	g_free(data);
+	l_free(data);
 }
 
 static const struct ofono_gprs_driver driver = {
diff --git a/drivers/qmimodem/location-reporting.c b/drivers/qmimodem/location-reporting.c
index cafc4c059ae1..a32d18245c4f 100644
--- a/drivers/qmimodem/location-reporting.c
+++ b/drivers/qmimodem/location-reporting.c
@@ -137,12 +137,12 @@ static void qmi_location_reporting_enable(struct ofono_location_reporting *lr,
 	param = qmi_param_new_uint8(QMI_PDS_PARAM_AUTO_TRACKING, 0x01);
 
 	if (qmi_service_send(data->pds, QMI_PDS_SET_AUTOTRACK, param,
-					autotrack_enable_cb, cbd, g_free) > 0)
+					autotrack_enable_cb, cbd, l_free) > 0)
 		return;
 
 	qmi_param_free(param);
 	CALLBACK_WITH_FAILURE(cb, -1, cbd->data);
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void autotrack_disable_cb(struct qmi_result *result, void *user_data)
@@ -177,12 +177,12 @@ static void qmi_location_reporting_disable(struct ofono_location_reporting *lr,
 	param = qmi_param_new_uint8(QMI_PDS_PARAM_AUTO_TRACKING, 0x00);
 
 	if (qmi_service_send(data->pds, QMI_PDS_SET_AUTOTRACK, param,
-					autotrack_disable_cb, cbd, g_free) > 0)
+					autotrack_disable_cb, cbd, l_free) > 0)
 		return;
 
 	qmi_param_free(param);
 	CALLBACK_WITH_FAILURE(cb, cbd->data);
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void set_event_cb(struct qmi_result *result, void *user_data)
@@ -238,7 +238,7 @@ static int qmi_location_reporting_probe(struct ofono_location_reporting *lr,
 
 	DBG("");
 
-	data = g_new0(struct location_data, 1);
+	data = l_new(struct location_data, 1);
 
 	data->fd = -1;
 
@@ -261,7 +261,7 @@ static void qmi_location_reporting_remove(struct ofono_location_reporting *lr)
 
 	qmi_service_unref(data->pds);
 
-	g_free(data);
+	l_free(data);
 }
 
 static const struct ofono_location_reporting_driver driver = {
diff --git a/drivers/qmimodem/lte.c b/drivers/qmimodem/lte.c
index fcc1d2bd935c..921d6e81933e 100644
--- a/drivers/qmimodem/lte.c
+++ b/drivers/qmimodem/lte.c
@@ -91,12 +91,12 @@ static void qmimodem_lte_set_default_attach_info(const struct ofono_lte *lte,
 
 	/* Modify profile */
 	if (qmi_service_send(ldd->wds, 0x28, param,
-					modify_profile_cb, cbd, g_free) > 0)
+					modify_profile_cb, cbd, l_free) > 0)
 		return;
 
 	qmi_param_free(param);
 	CALLBACK_WITH_FAILURE(cb, cbd->data);
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void reset_profile_cb(struct qmi_result *result, void *user_data)
@@ -210,9 +210,7 @@ static int qmimodem_lte_probe(struct ofono_lte *lte,
 
 	DBG("qmimodem lte probe");
 
-	ldd = g_try_new0(struct lte_data, 1);
-	if (!ldd)
-		return -ENOMEM;
+	ldd = l_new(struct lte_data, 1);
 
 	ofono_lte_set_data(lte, ldd);
 
@@ -232,7 +230,7 @@ static void qmimodem_lte_remove(struct ofono_lte *lte)
 
 	qmi_service_unref(ldd->wds);
 
-	g_free(ldd);
+	l_free(ldd);
 }
 
 static const struct ofono_lte_driver driver = {
diff --git a/drivers/qmimodem/netmon.c b/drivers/qmimodem/netmon.c
index 1190a37d66a7..e8a020d734e8 100644
--- a/drivers/qmimodem/netmon.c
+++ b/drivers/qmimodem/netmon.c
@@ -29,8 +29,6 @@
 #include <string.h>
 #include <errno.h>
 
-#include <glib.h>
-
 #include <ofono/log.h>
 #include <ofono/modem.h>
 #include <ofono/netmon.h>
@@ -203,12 +201,12 @@ static void qmi_netmon_request_update(struct ofono_netmon *netmon,
 	qmi_param_append_uint16(param, 0x10, 255);
 
 	if (qmi_service_send(data->nas, QMI_NAS_GET_SIGNAL_STRENGTH, param,
-					get_rssi_cb, cbd, g_free) > 0)
+					get_rssi_cb, cbd, l_free) > 0)
 		return;
 
 	qmi_param_free(param);
 	CALLBACK_WITH_FAILURE(cb, cbd->data);
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void create_nas_cb(struct qmi_service *service, void *user_data)
@@ -237,7 +235,7 @@ static int qmi_netmon_probe(struct ofono_netmon *netmon,
 
 	DBG("");
 
-	nmd = g_new0(struct netmon_data, 1);
+	nmd = l_new(struct netmon_data, 1);
 
 	ofono_netmon_set_data(netmon, nmd);
 
@@ -257,7 +255,7 @@ static void qmi_netmon_remove(struct ofono_netmon *netmon)
 
 	qmi_service_unref(nmd->nas);
 
-	g_free(nmd);
+	l_free(nmd);
 }
 
 static const struct ofono_netmon_driver driver = {
diff --git a/drivers/qmimodem/network-registration.c b/drivers/qmimodem/network-registration.c
index a1c507eb371f..c37e4f4f4938 100644
--- a/drivers/qmimodem/network-registration.c
+++ b/drivers/qmimodem/network-registration.c
@@ -32,8 +32,6 @@
 #include <ofono/modem.h>
 #include <ofono/netreg.h>
 
-#include <ell/ell.h>
-
 #include "qmi.h"
 #include "nas.h"
 #include "util.h"
@@ -268,12 +266,12 @@ static void qmi_registration_status(struct ofono_netreg *netreg,
 	cbd->user = data;
 
 	if (qmi_service_send(data->nas, QMI_NAS_GET_SERVING_SYSTEM, NULL,
-					get_ss_info_cb, cbd, g_free) > 0)
+					get_ss_info_cb, cbd, l_free) > 0)
 		return;
 
 	CALLBACK_WITH_FAILURE(cb, -1, -1, -1, -1, cbd->data);
 
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void qmi_current_operator(struct ofono_netreg *netreg,
@@ -312,17 +310,11 @@ static void scan_nets_cb(struct qmi_result *result, void *user_data)
 	netlist = ptr;
 
 	num = L_LE16_TO_CPU(netlist->count);
-
 	DBG("found %d operators", num);
-
-	list = g_try_new0(struct ofono_network_operator, num);
-	if (!list) {
-		CALLBACK_WITH_FAILURE(cb, 0, NULL, cbd->data);
-		return;
-	}
-
 	offset = 2;
 
+	list = l_new(struct ofono_network_operator, num);
+
 	for (i = 0; i < num; i++) {
 		const struct qmi_nas_network_info *netinfo = ptr + offset;
 		uint16_t mcc = L_LE16_TO_CPU(netinfo->mcc);
@@ -374,7 +366,7 @@ static void scan_nets_cb(struct qmi_result *result, void *user_data)
 done:
 	CALLBACK_WITH_SUCCESS(cb, num, list, cbd->data);
 
-	g_free(list);
+	l_free(list);
 }
 
 static void qmi_list_operators(struct ofono_netreg *netreg,
@@ -386,12 +378,12 @@ static void qmi_list_operators(struct ofono_netreg *netreg,
 	DBG("");
 
 	if (qmi_service_send(data->nas, QMI_NAS_NETWORK_SCAN, NULL,
-					scan_nets_cb, cbd, g_free) > 0)
+					scan_nets_cb, cbd, l_free) > 0)
 		return;
 
 	CALLBACK_WITH_FAILURE(cb, 0, NULL, cbd->data);
 
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void register_net_cb(struct qmi_result *result, void *user_data)
@@ -431,12 +423,12 @@ static void qmi_register_auto(struct ofono_netreg *netreg,
 					QMI_NAS_REGISTER_ACTION_AUTO);
 
 	if (qmi_service_send(data->nas, QMI_NAS_NETWORK_REGISTER, param,
-					register_net_cb, cbd, g_free) > 0)
+					register_net_cb, cbd, l_free) > 0)
 		return;
 
 	qmi_param_free(param);
 	CALLBACK_WITH_FAILURE(cb, cbd->data);
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void qmi_register_manual(struct ofono_netreg *netreg,
@@ -461,12 +453,12 @@ static void qmi_register_manual(struct ofono_netreg *netreg,
 						sizeof(info), &info);
 
 	if (qmi_service_send(data->nas, QMI_NAS_NETWORK_REGISTER, param,
-					register_net_cb, cbd, g_free) > 0)
+					register_net_cb, cbd, l_free) > 0)
 		return;
 
 	qmi_param_free(param);
 	CALLBACK_WITH_FAILURE(cb, cbd->data);
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static int dbm_to_strength(int8_t dbm)
@@ -524,12 +516,12 @@ static void qmi_signal_strength(struct ofono_netreg *netreg,
 	DBG("");
 
 	if (qmi_service_send(data->nas, QMI_NAS_GET_SIGNAL_STRENGTH, NULL,
-					get_rssi_cb, cbd, g_free) > 0)
+					get_rssi_cb, cbd, l_free) > 0)
 		return;
 
 	CALLBACK_WITH_FAILURE(cb, -1, cbd->data);
 
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void system_info_notify(struct qmi_result *result, void *user_data)
@@ -689,7 +681,7 @@ static int qmi_netreg_probe(struct ofono_netreg *netreg,
 
 	DBG("");
 
-	data = g_new0(struct netreg_data, 1);
+	data = l_new(struct netreg_data, 1);
 
 	data->operator.name[0] = '\0';
 	data->operator.mcc[0] = '\0';
@@ -743,7 +735,7 @@ static void qmi_netreg_remove(struct ofono_netreg *netreg)
 
 	qmi_service_unref(data->nas);
 
-	g_free(data);
+	l_free(data);
 }
 
 static const struct ofono_netreg_driver driver = {
diff --git a/drivers/qmimodem/radio-settings.c b/drivers/qmimodem/radio-settings.c
index ffd8a05923c6..08e08f50b113 100644
--- a/drivers/qmimodem/radio-settings.c
+++ b/drivers/qmimodem/radio-settings.c
@@ -86,7 +86,7 @@ static void qmi_query_rat_mode(struct ofono_radio_settings *rs,
 
 	if (qmi_service_send(data->nas,
 				QMI_NAS_GET_SYSTEM_SELECTION_PREFERENCE, NULL,
-				get_system_selection_pref_cb, cbd, g_free) > 0)
+				get_system_selection_pref_cb, cbd, l_free) > 0)
 		return;
 
 	CALLBACK_WITH_FAILURE(cb, -1, data);
@@ -144,12 +144,12 @@ static void qmi_set_rat_mode(struct ofono_radio_settings *rs, unsigned int mode,
 
 	if (qmi_service_send(data->nas,
 				QMI_NAS_SET_SYSTEM_SELECTION_PREFERENCE, param,
-				set_system_selection_pref_cb, cbd, g_free) > 0)
+				set_system_selection_pref_cb, cbd, l_free) > 0)
 		return;
 
 	qmi_param_free(param);
 	CALLBACK_WITH_FAILURE(cb, user_data);
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void get_caps_cb(struct qmi_result *result, void *user_data)
@@ -204,11 +204,11 @@ static void qmi_query_available_rats(struct ofono_radio_settings *rs,
 		goto error;
 
 	if (qmi_service_send(rsd->dms, QMI_DMS_GET_CAPS, NULL,
-					get_caps_cb, cbd, g_free) > 0)
+					get_caps_cb, cbd, l_free) > 0)
 		return;
 
 error:
-	g_free(cbd);
+	l_free(cbd);
 	CALLBACK_WITH_FAILURE(cb, -1, data);
 }
 
@@ -257,7 +257,7 @@ static int qmi_radio_settings_probe(struct ofono_radio_settings *rs,
 
 	DBG("");
 
-	data = g_new0(struct settings_data, 1);
+	data = l_new(struct settings_data, 1);
 
 	ofono_radio_settings_set_data(rs, data);
 
@@ -280,7 +280,7 @@ static void qmi_radio_settings_remove(struct ofono_radio_settings *rs)
 	qmi_service_unref(data->dms);
 	qmi_service_unref(data->nas);
 
-	g_free(data);
+	l_free(data);
 }
 
 static const struct ofono_radio_settings_driver driver = {
diff --git a/drivers/qmimodem/sim-legacy.c b/drivers/qmimodem/sim-legacy.c
index 12e5ab079111..e9ed0a9ec4c1 100644
--- a/drivers/qmimodem/sim-legacy.c
+++ b/drivers/qmimodem/sim-legacy.c
@@ -110,14 +110,14 @@ static void qmi_read_file_transparent(struct ofono_sim *sim,
 	switch (fileid) {
 	case SIM_EF_ICCID_FILEID:
 		if (qmi_service_send(data->dms, QMI_DMS_GET_ICCID, NULL,
-						get_iccid_cb, cbd, g_free) > 0)
+						get_iccid_cb, cbd, l_free) > 0)
 			return;
 		break;
 	}
 
 	CALLBACK_WITH_FAILURE(cb, NULL, 0, cbd->data);
 
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void get_imsi_cb(struct qmi_result *result, void *user_data)
@@ -153,12 +153,12 @@ static void qmi_read_imsi(struct ofono_sim *sim,
 	DBG("");
 
 	if (qmi_service_send(data->dms, QMI_DMS_GET_IMSI, NULL,
-					get_imsi_cb, cbd, g_free) > 0)
+					get_imsi_cb, cbd, l_free) > 0)
 		return;
 
 	CALLBACK_WITH_FAILURE(cb, NULL, cbd->data);
 
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void get_pin_status_cb(struct qmi_result *result, void *user_data)
@@ -226,12 +226,12 @@ static void qmi_query_passwd_state(struct ofono_sim *sim,
 	cbd->user = data;
 
 	if (qmi_service_send(data->dms, QMI_DMS_GET_PIN_STATUS, NULL,
-					get_pin_status_cb, cbd, g_free) > 0)
+					get_pin_status_cb, cbd, l_free) > 0)
 		return;
 
 	CALLBACK_WITH_FAILURE(cb, -1, cbd->data);
 
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void qmi_query_pin_retries(struct ofono_sim *sim,
@@ -351,7 +351,7 @@ static int qmi_sim_probe(struct ofono_sim *sim,
 
 	DBG("");
 
-	data = g_new0(struct sim_data, 1);
+	data = l_new(struct sim_data, 1);
 
 	for (i = 0; i < OFONO_SIM_PASSWORD_INVALID; i++)
 		data->retries[i] = -1;
@@ -379,7 +379,7 @@ static void qmi_sim_remove(struct ofono_sim *sim)
 
 	qmi_service_unref(data->dms);
 
-	g_free(data);
+	l_free(data);
 }
 
 static const struct ofono_sim_driver driver = {
diff --git a/drivers/qmimodem/sim.c b/drivers/qmimodem/sim.c
index 07cbbaa47992..110af6686627 100644
--- a/drivers/qmimodem/sim.c
+++ b/drivers/qmimodem/sim.c
@@ -188,7 +188,7 @@ static void qmi_read_attributes(struct ofono_sim *sim, int fileid,
 	qmi_param_append(param, 0x02, fileid_len, fileid_data);
 
 	if (qmi_service_send(data->uim, QMI_UIM_GET_FILE_ATTRIBUTES, param,
-				get_file_attributes_cb, cbd, g_free) > 0)
+				get_file_attributes_cb, cbd, l_free) > 0)
 		return;
 
 	qmi_param_free(param);
@@ -196,7 +196,7 @@ static void qmi_read_attributes(struct ofono_sim *sim, int fileid,
 error:
 	CALLBACK_WITH_FAILURE(cb, -1, -1, -1, NULL,
 					EF_STATUS_INVALIDATED, cbd->data);
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void read_generic_cb(struct qmi_result *result, void *user_data)
@@ -255,14 +255,14 @@ static void qmi_read_transparent(struct ofono_sim *sim,
 	qmi_param_append(param, 0x03, sizeof(read_data), read_data);
 
 	if (qmi_service_send(data->uim, QMI_UIM_READ_TRANSPARENT, param,
-					read_generic_cb, cbd, g_free) > 0)
+					read_generic_cb, cbd, l_free) > 0)
 		return;
 
 	qmi_param_free(param);
 
 error:
 	CALLBACK_WITH_FAILURE(cb, NULL, 0, user_data);
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void qmi_read_record(struct ofono_sim *sim,
@@ -298,14 +298,14 @@ static void qmi_read_record(struct ofono_sim *sim,
 	qmi_param_append(param, 0x03, sizeof(read_data), read_data);
 
 	if (qmi_service_send(data->uim, QMI_UIM_READ_RECORD, param,
-					read_generic_cb, cbd, g_free) > 0)
+					read_generic_cb, cbd, l_free) > 0)
 		return;
 
 	qmi_param_free(param);
 
 error:
 	CALLBACK_WITH_FAILURE(cb, NULL, 0, user_data);
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void write_generic_cb(struct qmi_result *result, void *user_data)
@@ -380,14 +380,14 @@ static void write_generic(struct ofono_sim *sim,
 	qmi_param_append(param, 0x03, 4 + length, write_data);
 
 	if (qmi_service_send(data->uim, qmi_message, param,
-					write_generic_cb, cbd, g_free) > 0)
+					write_generic_cb, cbd, l_free) > 0)
 		return;
 
 	qmi_param_free(param);
 
 error:
 	CALLBACK_WITH_FAILURE(cb, user_data);
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void qmi_write_transparent(struct ofono_sim *sim,
@@ -456,12 +456,12 @@ static void qmi_read_imsi(struct ofono_sim *sim,
 	DBG("");
 
 	if (qmi_service_send(data->dms, QMI_DMS_GET_IMSI, NULL,
-					get_imsi_cb, cbd, g_free) > 0)
+					get_imsi_cb, cbd, l_free) > 0)
 		return;
 
 	CALLBACK_WITH_FAILURE(cb, NULL, cbd->data);
 
-	g_free(cbd);
+	l_free(cbd);
 }
 
 /* Return true if a retry could give another (better) result */
@@ -651,12 +651,12 @@ static void qmi_query_passwd_state(struct ofono_sim *sim,
 	cbd->user = sim;
 
 	if (qmi_service_send(data->uim, QMI_UIM_GET_CARD_STATUS, NULL,
-					query_passwd_state_cb, cbd, g_free) > 0)
+					query_passwd_state_cb, cbd, l_free) > 0)
 		return;
 
 	CALLBACK_WITH_FAILURE(cb, -1, cbd->data);
 
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void query_pin_retries_cb(struct qmi_result *result, void *user_data)
@@ -689,12 +689,12 @@ static void qmi_query_pin_retries(struct ofono_sim *sim,
 	DBG("");
 
 	if (qmi_service_send(data->uim, QMI_UIM_GET_CARD_STATUS, NULL,
-					query_pin_retries_cb, cbd, g_free) > 0)
+					query_pin_retries_cb, cbd, l_free) > 0)
 		return;
 
 	CALLBACK_WITH_FAILURE(cb, NULL, cbd->data);
 
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void pin_send_cb(struct qmi_result *result, void *user_data)
@@ -748,14 +748,14 @@ static void qmi_pin_send(struct ofono_sim *sim, const char *passwd,
 					session_info_data);
 
 	if (qmi_service_send(data->uim, QMI_UIM_VERIFY_PIN, param,
-					pin_send_cb, cbd, g_free) > 0)
+					pin_send_cb, cbd, l_free) > 0)
 		return;
 
 	qmi_param_free(param);
 
 error:
 	CALLBACK_WITH_FAILURE(cb, cbd->data);
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void get_card_status_cb(struct qmi_result *result, void *user_data)
@@ -898,7 +898,7 @@ static int qmi_sim_probe(struct ofono_sim *sim,
 
 	DBG("");
 
-	data = g_new0(struct sim_data, 1);
+	data = l_new(struct sim_data, 1);
 
 	data->qmi_dev = device;
 
@@ -937,7 +937,7 @@ static void qmi_sim_remove(struct ofono_sim *sim)
 		data->dms = NULL;
 	}
 
-	g_free(data);
+	l_free(data);
 }
 
 static const struct ofono_sim_driver driver = {
diff --git a/drivers/qmimodem/sms.c b/drivers/qmimodem/sms.c
index f8ed96c435e0..498a6d778303 100644
--- a/drivers/qmimodem/sms.c
+++ b/drivers/qmimodem/sms.c
@@ -97,12 +97,12 @@ static void qmi_sca_query(struct ofono_sms *sms,
 	DBG("");
 
 	if (qmi_service_send(data->wms, QMI_WMS_GET_SMSC_ADDR, NULL,
-					get_smsc_addr_cb, cbd, g_free) > 0)
+					get_smsc_addr_cb, cbd, l_free) > 0)
 		return;
 
 	CALLBACK_WITH_FAILURE(cb, NULL, cbd->data);
 
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void set_smsc_addr_cb(struct qmi_result *result, void *user_data)
@@ -152,14 +152,14 @@ static void qmi_sca_set(struct ofono_sms *sms,
 						strlen(type), type);
 
 	if (qmi_service_send(data->wms, QMI_WMS_SET_SMSC_ADDR, param,
-					set_smsc_addr_cb, cbd, g_free) > 0)
+					set_smsc_addr_cb, cbd, l_free) > 0)
 		return;
 
 	qmi_param_free(param);
 
 error:
 	CALLBACK_WITH_FAILURE(cb, cbd->data);
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void raw_send_cb(struct qmi_result *result, void *user_data)
@@ -205,12 +205,12 @@ static void qmi_submit(struct ofono_sms *sms,
 	qmi_param_append(param, QMI_WMS_PARAM_MESSAGE, 3 + pdu_len, message);
 
 	if (qmi_service_send(data->wms, QMI_WMS_RAW_SEND, param,
-					raw_send_cb, cbd, g_free) > 0)
+					raw_send_cb, cbd, l_free) > 0)
 		return;
 
 	qmi_param_free(param);
 	CALLBACK_WITH_FAILURE(cb, -1, cbd->data);
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static int domain_to_bearer(uint8_t domain)
@@ -281,13 +281,13 @@ static void qmi_bearer_query(struct ofono_sms *sms,
 		goto error;
 
 	if (qmi_service_send(data->wms, QMI_WMS_GET_DOMAIN_PREF, NULL,
-					get_domain_pref_cb, cbd, g_free) > 0)
+					get_domain_pref_cb, cbd, l_free) > 0)
 		return;
 
 error:
 	CALLBACK_WITH_FAILURE(cb, -1, cbd->data);
 
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void set_domain_pref_cb(struct qmi_result *result, void *user_data)
@@ -323,14 +323,14 @@ static void qmi_bearer_set(struct ofono_sms *sms, int bearer,
 	param = qmi_param_new_uint8(QMI_WMS_PARAM_DOMAIN, domain);
 
 	if (qmi_service_send(data->wms, QMI_WMS_SET_DOMAIN_PREF, param,
-					set_domain_pref_cb, cbd, g_free) > 0)
+					set_domain_pref_cb, cbd, l_free) > 0)
 		return;
 
 	qmi_param_free(param);
 
 error:
 	CALLBACK_WITH_FAILURE(cb, cbd->data);
-	g_free(cbd);
+	l_free(cbd);
 }
 
 static void delete_msg_cb(struct qmi_result *result, void *user_data)
@@ -492,7 +492,7 @@ static void get_msg_list_cb(struct qmi_result *result, void *user_data)
 
 	/* free list from last time */
 	if (data->msg_list) {
-		g_free(data->msg_list);
+		l_free(data->msg_list);
 		data->msg_list = NULL;
 	}
 
@@ -500,10 +500,7 @@ static void get_msg_list_cb(struct qmi_result *result, void *user_data)
 	if (cnt) {
 		int msg_size = cnt * sizeof(list->msg[0]);
 
-		data->msg_list = g_try_malloc0(sizeof(list->cnt) + msg_size);
-		if (data->msg_list == NULL)
-			goto done;
-
+		data->msg_list = l_malloc(sizeof(list->cnt) + msg_size);
 		data->msg_list->cnt = cnt;
 		memcpy(data->msg_list->msg, list->msg, msg_size);
 
@@ -785,7 +782,7 @@ static int qmi_sms_probe(struct ofono_sms *sms,
 
 	DBG("");
 
-	data = g_new0(struct sms_data, 1);
+	data = l_new(struct sms_data, 1);
 
 	ofono_sms_set_data(sms, data);
 
@@ -807,9 +804,9 @@ static void qmi_sms_remove(struct ofono_sms *sms)
 	qmi_service_unref(data->wms);
 
 	if (data->msg_list)
-		g_free(data->msg_list);
+		l_free(data->msg_list);
 
-	g_free(data);
+	l_free(data);
 }
 
 static const struct ofono_sms_driver driver = {
diff --git a/drivers/qmimodem/ussd.c b/drivers/qmimodem/ussd.c
index cfdf3ed97ce5..67dd649f360b 100644
--- a/drivers/qmimodem/ussd.c
+++ b/drivers/qmimodem/ussd.c
@@ -197,7 +197,7 @@ static int qmi_ussd_probe(struct ofono_ussd *ussd,
 
 	DBG("");
 
-	data = g_new0(struct ussd_data, 1);
+	data = l_new(struct ussd_data, 1);
 
 	ofono_ussd_set_data(ussd, data);
 
@@ -217,7 +217,7 @@ static void qmi_ussd_remove(struct ofono_ussd *ussd)
 
 	qmi_service_unref(data->voice);
 
-	g_free(data);
+	l_free(data);
 }
 
 static void qmi_ussd_cancel(struct ofono_ussd *ussd,
@@ -292,7 +292,7 @@ static void qmi_ussd_request(struct ofono_ussd *ussd, int dcs,
 	qmi_ussd->dcs = QMI_USSD_DCS_ASCII;
 	qmi_ussd->length = len;
 	memcpy(qmi_ussd->data, utf8, utf8_len);
-	g_free(utf8);
+	l_free(utf8);
 
 	param = qmi_param_new();
 	if (param == NULL)
@@ -302,12 +302,12 @@ static void qmi_ussd_request(struct ofono_ussd *ussd, int dcs,
 			sizeof(struct qmi_ussd_data) + utf8_len, qmi_ussd);
 
 	if (qmi_service_send(ud->voice, QMI_VOICE_ASYNC_ORIG_USSD, param,
-					qmi_ussd_request_cb, cbd, g_free) > 0)
+					qmi_ussd_request_cb, cbd, l_free) > 0)
 		return;
 
 	qmi_param_free(param);
 error:
-	g_free(cbd);
+	l_free(cbd);
 	CALLBACK_WITH_FAILURE(cb, data);
 }
 
diff --git a/drivers/qmimodem/util.h b/drivers/qmimodem/util.h
index 7e049322636a..68bc93837c71 100644
--- a/drivers/qmimodem/util.h
+++ b/drivers/qmimodem/util.h
@@ -20,6 +20,7 @@
  */
 
 #include <glib.h>
+#include <ell/ell.h>
 
 struct cb_data {
 	void *cb;
@@ -32,7 +33,7 @@ static inline struct cb_data *cb_data_new(void *cb, void *data)
 {
 	struct cb_data *ret;
 
-	ret = g_new0(struct cb_data, 1);
+	ret = l_new(struct cb_data, 1);
 	ret->cb = cb;
 	ret->data = data;
 	ret->user = NULL;
@@ -54,7 +55,7 @@ static inline void cb_data_unref(gpointer user_data)
 	if (--cbd->ref)
 		return;
 
-	g_free(cbd);
+	l_free(cbd);
 }
 
 #define CALLBACK_WITH_CME_ERROR(cb, err, args...)	\
diff --git a/drivers/qmimodem/voicecall.c b/drivers/qmimodem/voicecall.c
index 059edbae9ac5..aa34fc25a860 100644
--- a/drivers/qmimodem/voicecall.c
+++ b/drivers/qmimodem/voicecall.c
@@ -69,7 +69,7 @@ static int qmi_voicecall_probe(struct ofono_voicecall *vc,
 
 	DBG("");
 
-	data = g_new0(struct voicecall_data, 1);
+	data = l_new(struct voicecall_data, 1);
 
 	ofono_voicecall_set_data(vc, data);
 
@@ -92,7 +92,7 @@ static void qmi_voicecall_remove(struct ofono_voicecall *vc)
 
 	qmi_service_unref(data->voice);
 
-	g_free(data);
+	l_free(data);
 }
 
 static const struct ofono_voicecall_driver driver = {
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 4/5] gobi: Replace g_try_new0 / g_free with ell equivalents
  2024-03-04 20:34 [PATCH 1/5] qmimodem: Use stdbool instead of gboolean Denis Kenzior
  2024-03-04 20:34 ` [PATCH 2/5] qmimodem: Use ell endianness converter helpers Denis Kenzior
  2024-03-04 20:34 ` [PATCH 3/5] qmimodem: Use l_new / l_free Denis Kenzior
@ 2024-03-04 20:34 ` Denis Kenzior
  2024-03-04 20:34 ` [PATCH 5/5] qmimodem: Remove glib use from util.[ch] Denis Kenzior
  2024-03-04 22:00 ` [PATCH 1/5] qmimodem: Use stdbool instead of gboolean patchwork-bot+ofono
  4 siblings, 0 replies; 6+ messages in thread
From: Denis Kenzior @ 2024-03-04 20:34 UTC (permalink / raw)
  To: ofono; +Cc: Denis Kenzior

---
 plugins/gobi.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/plugins/gobi.c b/plugins/gobi.c
index 99a7d5564ed8..8d3b7ef4cdfc 100644
--- a/plugins/gobi.c
+++ b/plugins/gobi.c
@@ -101,9 +101,7 @@ static int gobi_probe(struct ofono_modem *modem)
 
 	DBG("%p", modem);
 
-	data = g_try_new0(struct gobi_data, 1);
-	if (!data)
-		return -ENOMEM;
+	data = l_new(struct gobi_data, 1);
 
 	kernel_driver = ofono_modem_get_string(modem, "KernelDriver");
 	DBG("kernel_driver: %s", kernel_driver);
@@ -149,7 +147,7 @@ static void gobi_remove(struct ofono_modem *modem)
 
 	qmi_device_free(data->device);
 
-	g_free(data);
+	l_free(data);
 }
 
 static void shutdown_cb(void *user_data)
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 5/5] qmimodem: Remove glib use from util.[ch]
  2024-03-04 20:34 [PATCH 1/5] qmimodem: Use stdbool instead of gboolean Denis Kenzior
                   ` (2 preceding siblings ...)
  2024-03-04 20:34 ` [PATCH 4/5] gobi: Replace g_try_new0 / g_free with ell equivalents Denis Kenzior
@ 2024-03-04 20:34 ` Denis Kenzior
  2024-03-04 22:00 ` [PATCH 1/5] qmimodem: Use stdbool instead of gboolean patchwork-bot+ofono
  4 siblings, 0 replies; 6+ messages in thread
From: Denis Kenzior @ 2024-03-04 20:34 UTC (permalink / raw)
  To: ofono; +Cc: Denis Kenzior

glib use is retained by sim and sim-legacy drivers since these drivers
utilize sim related utilities that have not yet been ported to ell.
Also, sim driver uses a single glib timeout source
---
 drivers/qmimodem/sim-legacy.c | 2 ++
 drivers/qmimodem/sim.c        | 2 ++
 drivers/qmimodem/util.h       | 3 +--
 3 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/qmimodem/sim-legacy.c b/drivers/qmimodem/sim-legacy.c
index e9ed0a9ec4c1..fd05f219ea52 100644
--- a/drivers/qmimodem/sim-legacy.c
+++ b/drivers/qmimodem/sim-legacy.c
@@ -30,6 +30,8 @@
 #include <ofono/modem.h>
 #include <ofono/sim.h>
 
+#include <glib.h>
+
 #include "qmi.h"
 #include "dms.h"
 #include "util.h"
diff --git a/drivers/qmimodem/sim.c b/drivers/qmimodem/sim.c
index 110af6686627..8605e03c6f4f 100644
--- a/drivers/qmimodem/sim.c
+++ b/drivers/qmimodem/sim.c
@@ -29,6 +29,8 @@
 #include <ofono/modem.h>
 #include <ofono/sim.h>
 
+#include <glib.h>
+
 #include "qmi.h"
 #include "dms.h"
 #include "uim.h"
diff --git a/drivers/qmimodem/util.h b/drivers/qmimodem/util.h
index 68bc93837c71..8c0c3c3c76ce 100644
--- a/drivers/qmimodem/util.h
+++ b/drivers/qmimodem/util.h
@@ -19,7 +19,6 @@
  *
  */
 
-#include <glib.h>
 #include <ell/ell.h>
 
 struct cb_data {
@@ -48,7 +47,7 @@ static inline struct cb_data *cb_data_ref(struct cb_data *cbd)
 	return cbd;
 }
 
-static inline void cb_data_unref(gpointer user_data)
+static inline void cb_data_unref(void *user_data)
 {
 	struct cb_data *cbd = user_data;
 
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/5] qmimodem: Use stdbool instead of gboolean
  2024-03-04 20:34 [PATCH 1/5] qmimodem: Use stdbool instead of gboolean Denis Kenzior
                   ` (3 preceding siblings ...)
  2024-03-04 20:34 ` [PATCH 5/5] qmimodem: Remove glib use from util.[ch] Denis Kenzior
@ 2024-03-04 22:00 ` patchwork-bot+ofono
  4 siblings, 0 replies; 6+ messages in thread
From: patchwork-bot+ofono @ 2024-03-04 22:00 UTC (permalink / raw)
  To: Denis Kenzior; +Cc: ofono

Hello:

This series was applied to ofono.git (master)
by Denis Kenzior <denkenz@gmail.com>:

On Mon,  4 Mar 2024 14:34:49 -0600 you wrote:
> ---
>  drivers/qmimodem/sim-legacy.c |  4 ++--
>  drivers/qmimodem/sim.c        | 16 ++++++++--------
>  2 files changed, 10 insertions(+), 10 deletions(-)

Here is the summary with links:
  - [1/5] qmimodem: Use stdbool instead of gboolean
    https://git.kernel.org/pub/scm/network/ofono/ofono.git/?id=2e707f79d546
  - [2/5] qmimodem: Use ell endianness converter helpers
    https://git.kernel.org/pub/scm/network/ofono/ofono.git/?id=f4b626316d3e
  - [3/5] qmimodem: Use l_new / l_free
    https://git.kernel.org/pub/scm/network/ofono/ofono.git/?id=588ea1013417
  - [4/5] gobi: Replace g_try_new0 / g_free with ell equivalents
    https://git.kernel.org/pub/scm/network/ofono/ofono.git/?id=9eb530b94110
  - [5/5] qmimodem: Remove glib use from util.[ch]
    https://git.kernel.org/pub/scm/network/ofono/ofono.git/?id=5f669d82f73c

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-03-04 22:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-04 20:34 [PATCH 1/5] qmimodem: Use stdbool instead of gboolean Denis Kenzior
2024-03-04 20:34 ` [PATCH 2/5] qmimodem: Use ell endianness converter helpers Denis Kenzior
2024-03-04 20:34 ` [PATCH 3/5] qmimodem: Use l_new / l_free Denis Kenzior
2024-03-04 20:34 ` [PATCH 4/5] gobi: Replace g_try_new0 / g_free with ell equivalents Denis Kenzior
2024-03-04 20:34 ` [PATCH 5/5] qmimodem: Remove glib use from util.[ch] Denis Kenzior
2024-03-04 22:00 ` [PATCH 1/5] qmimodem: Use stdbool instead of gboolean patchwork-bot+ofono

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).