summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2010-09-23 21:02:40 -0500
committerDenis Kenzior <denkenz@gmail.com>2010-09-23 21:55:58 -0500
commit01cfe43824149567b2be487034a2ea2904dd42f8 (patch)
tree25e89d35423229a904ea88e29094fdf806340307
parentdf0a431a4100b705e9c25d3f08d0c9be4648bb54 (diff)
downloadofono-01cfe43824149567b2be487034a2ea2904dd42f8.tar.bz2
calypso: Provide hangup_all and hangup_active
On Calypso, ATH hangs up all calls except waiting calls and CHUP hangs up only active calls, but not held or waiting.
-rw-r--r--drivers/calypsomodem/voicecall.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/calypsomodem/voicecall.c b/drivers/calypsomodem/voicecall.c
index 05bae893..a669cb7e 100644
--- a/drivers/calypsomodem/voicecall.c
+++ b/drivers/calypsomodem/voicecall.c
@@ -119,12 +119,18 @@ static void calypso_answer(struct ofono_voicecall *vc,
calypso_template(vc, "ATA", cb, data);
}
-static void calypso_hangup(struct ofono_voicecall *vc,
+static void calypso_ath(struct ofono_voicecall *vc,
ofono_voicecall_cb_t cb, void *data)
{
calypso_template(vc, "ATH", cb, data);
}
+static void calypso_chup(struct ofono_voicecall *vc,
+ ofono_voicecall_cb_t cb, void *data)
+{
+ calypso_template(vc, "AT+CHUP", cb, data);
+}
+
static void calypso_hold_all_active(struct ofono_voicecall *vc,
ofono_voicecall_cb_t cb, void *data)
{
@@ -409,7 +415,8 @@ static struct ofono_voicecall_driver driver = {
.remove = calypso_voicecall_remove,
.dial = calypso_dial,
.answer = calypso_answer,
- .hangup_active = calypso_hangup,
+ .hangup_all = calypso_ath,
+ .hangup_active = calypso_chup,
.hold_all_active = calypso_hold_all_active,
.release_all_held = calypso_release_all_held,
.set_udub = calypso_set_udub,