pmos/modem/ofono/0008-common-atmodem-rename-move-at_util_call_compare_by_i.patch
Bhushan Shah 975b33952e modem/ofono: Patches for the getting the voice call working (#1512)
This patchset is based on the branch on the sysmocom.de git,

https://git.sysmocom.de/ofono/log/?h=lynxis/voicecall

The original branch was based on old ofono so this patches are manually
merged to ofono 1.21 and tested on debian initially.
2018-06-01 21:19:13 +02:00

157 lines
5.5 KiB
Diff

From 3bba30fd23705dc8817b2eb0f28c9be03b8f7892 Mon Sep 17 00:00:00 2001
From: Alexander Couzens <lynxis@fe80.eu>
Date: Tue, 25 Jul 2017 15:39:36 +0200
Subject: [PATCH 08/17] common,atmodem: rename & move
at_util_call_compare_by_id to common.c
at_util_call_compare_by_id is used by several modem drivers.
---
drivers/atmodem/atutil.c | 14 --------------
drivers/atmodem/atutil.h | 2 +-
drivers/huaweimodem/voicecall.c | 6 +++---
drivers/ifxmodem/voicecall.c | 4 ++--
drivers/stemodem/voicecall.c | 2 +-
src/common.c | 14 ++++++++++++++
src/common.h | 1 +
7 files changed, 22 insertions(+), 21 deletions(-)
Index: ofono-1.21/drivers/atmodem/atutil.c
===================================================================
--- ofono-1.21.orig/drivers/atmodem/atutil.c
+++ ofono-1.21/drivers/atmodem/atutil.c
@@ -78,20 +78,6 @@ gint at_util_call_compare_by_phone_numbe
sizeof(struct ofono_phone_number));
}
-gint at_util_call_compare_by_id(gconstpointer a, gconstpointer b)
-{
- const struct ofono_call *call = a;
- unsigned int id = GPOINTER_TO_UINT(b);
-
- if (id < call->id)
- return -1;
-
- if (id > call->id)
- return 1;
-
- return 0;
-}
-
GSList *at_util_parse_clcc(GAtResult *result, unsigned int *ret_mpty_ids)
{
GAtResultIter iter;
Index: ofono-1.21/drivers/atmodem/atutil.h
===================================================================
--- ofono-1.21.orig/drivers/atmodem/atutil.h
+++ ofono-1.21/drivers/atmodem/atutil.h
@@ -53,7 +53,7 @@ typedef void (*at_util_sim_inserted_cb_t
void decode_at_error(struct ofono_error *error, const char *final);
gint ofono_call_compare_by_status(gconstpointer a, gconstpointer b);
gint at_util_call_compare_by_phone_number(gconstpointer a, gconstpointer b);
-gint at_util_call_compare_by_id(gconstpointer a, gconstpointer b);
+gint ofono_call_compare_by_id(gconstpointer a, gconstpointer b);
GSList *at_util_parse_clcc(GAtResult *result, unsigned int *mpty_ids);
gboolean at_util_parse_reg(GAtResult *result, const char *prefix,
int *mode, int *status,
Index: ofono-1.21/drivers/huaweimodem/voicecall.c
===================================================================
--- ofono-1.21.orig/drivers/huaweimodem/voicecall.c
+++ ofono-1.21/drivers/huaweimodem/voicecall.c
@@ -347,7 +347,7 @@ static void conf_notify(GAtResult *resul
ofono_info("Call setup: id %d", call_id);
l = g_slist_find_custom(vd->calls, GINT_TO_POINTER(call_id),
- at_util_call_compare_by_id);
+ ofono_call_compare_by_id);
if (l == NULL) {
ofono_error("Received CONF for untracked call");
return;
@@ -384,7 +384,7 @@ static void conn_notify(GAtResult *resul
ofono_info("Call connect: id %d type %d", call_id, call_type);
l = g_slist_find_custom(vd->calls, GINT_TO_POINTER(call_id),
- at_util_call_compare_by_id);
+ ofono_call_compare_by_id);
if (l == NULL) {
ofono_error("Received CONN for untracked call");
return;
@@ -428,7 +428,7 @@ static void cend_notify(GAtResult *resul
call_id, duration, end_status);
l = g_slist_find_custom(vd->calls, GINT_TO_POINTER(call_id),
- at_util_call_compare_by_id);
+ ofono_call_compare_by_id);
if (l == NULL) {
ofono_error("Received CEND for untracked call");
return;
Index: ofono-1.21/drivers/ifxmodem/voicecall.c
===================================================================
--- ofono-1.21.orig/drivers/ifxmodem/voicecall.c
+++ ofono-1.21/drivers/ifxmodem/voicecall.c
@@ -135,7 +135,7 @@ static void xcallstat_notify(GAtResult *
return;
l = g_slist_find_custom(vd->calls, GINT_TO_POINTER(id),
- at_util_call_compare_by_id);
+ ofono_call_compare_by_id);
if (l == NULL && status != CALL_STATUS_DIALING &&
status != CALL_STATUS_INCOMING &&
@@ -773,7 +773,7 @@ static void xcolp_notify(GAtResult *resu
l = g_slist_find_custom(vd->calls,
GINT_TO_POINTER(call_id),
- at_util_call_compare_by_id);
+ ofono_call_compare_by_id);
if (l == NULL) {
ofono_error("XCOLP for unknown call");
return;
Index: ofono-1.21/drivers/stemodem/voicecall.c
===================================================================
--- ofono-1.21.orig/drivers/stemodem/voicecall.c
+++ ofono-1.21/drivers/stemodem/voicecall.c
@@ -462,7 +462,7 @@ static void ecav_notify(GAtResult *resul
* If it doesn't exists we make a new one
*/
l = g_slist_find_custom(vd->calls, GUINT_TO_POINTER(id),
- at_util_call_compare_by_id);
+ ofono_call_compare_by_id);
if (l)
existing_call = l->data;
Index: ofono-1.21/src/common.c
===================================================================
--- ofono-1.21.orig/src/common.c
+++ ofono-1.21/src/common.c
@@ -791,6 +791,20 @@ gint ofono_call_compare_by_status(gconst
return 0;
}
+gint ofono_call_compare_by_id(gconstpointer a, gconstpointer b)
+{
+ const struct ofono_call *call = a;
+ unsigned int id = GPOINTER_TO_UINT(b);
+
+ if (id < call->id)
+ return -1;
+
+ if (id > call->id)
+ return 1;
+
+ return 0;
+}
+
const char *ofono_call_status_to_string(enum call_status status)
{
switch (status) {
Index: ofono-1.21/src/common.h
===================================================================
--- ofono-1.21.orig/src/common.h
+++ ofono-1.21/src/common.h
@@ -186,4 +186,5 @@ const char *packet_bearer_to_string(int
gboolean is_valid_apn(const char *apn);
gint ofono_call_compare(gconstpointer a, gconstpointer b);
gint ofono_call_compare_by_status(gconstpointer a, gconstpointer b);
+gint ofono_call_compare_by_id(gconstpointer a, gconstpointer b);
const char *ofono_call_status_to_string(enum call_status status);