diff options
author | tzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2006-09-04 21:58:47 +0000 |
---|---|---|
committer | tzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2006-09-04 21:58:47 +0000 |
commit | fa2e39e7130a75e0a446095ff0a55cd003a0c165 (patch) | |
tree | e0f2709b7a8d976eab36dbde7f339c8ce46b723a /xpp | |
parent | 4d1a1aac91bcb80a42ccefa2b6ae50a00a2585a3 (diff) |
Minor code cleanup: No more SETHOOK method. It's only used in FXO, so
now it's an internal function: __do_sethook()
git-svn-id: http://svn.digium.com/svn/zaptel/trunk@1383 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'xpp')
-rw-r--r-- | xpp/card_fxo.c | 58 | ||||
-rw-r--r-- | xpp/card_fxo.h | 1 | ||||
-rw-r--r-- | xpp/card_fxs.c | 8 | ||||
-rw-r--r-- | xpp/card_fxs.h | 1 | ||||
-rw-r--r-- | xpp/xproto.c | 1 | ||||
-rw-r--r-- | xpp/xproto.h | 1 |
6 files changed, 28 insertions, 42 deletions
diff --git a/xpp/card_fxo.c b/xpp/card_fxo.c index 4bd9221..1b3e6cc 100644 --- a/xpp/card_fxo.c +++ b/xpp/card_fxo.c @@ -59,7 +59,6 @@ enum fxo_leds { static /* 0x0F */ DECLARE_CMD(FXO, CHAN_ENABLE, xpp_line_t lines, bool on); static /* 0x0F */ DECLARE_CMD(FXO, CHAN_CID, int pos); static /* 0x0F */ DECLARE_CMD(FXO, RING, int pos, bool on); -static /* 0x0F */ DECLARE_CMD(FXO, SETHOOK, int pos, bool offhook); static /* 0x0F */ DECLARE_CMD(FXO, RELAY_OUT, byte which, bool on); static /* 0x0F */ DECLARE_CMD(FXO, DAA_QUERY, int pos, byte reg_num); @@ -212,6 +211,33 @@ static void mark_ring(xpd_t *xpd, lineno_t pos, bool on) } } +static __do_sethook(xbus_t *xbus, xpd_t *xpd, int pos, bool offhook) +{ + int ret = 0; + xpacket_t *pack; + slic_cmd_t *sc; + int len; + bool value; + struct FXO_priv_data *priv; + + BUG_ON(!xbus); + BUG_ON(!xpd); + priv = (struct FXO_priv_data*)xpd->priv; + value = (offhook) ? 0x09 : 0x08; + // value |= BIT(3); /* Bit 3 is for CID */ + DBG("%s/%s/%d: SETHOOK: value=0x%02X %s\n", xbus->busname, xpd->xpdname, pos, value, (offhook)?"OFFHOOK":"ONHOOK"); + MARK_LED(xpd, pos, LED_GREEN, (offhook)?LED_ON:LED_OFF); + XPACKET_NEW(pack, xbus, FXO, DAA_WRITE, xpd->id); + sc = &RPACKET_FIELD(pack, FXO, DAA_WRITE, slic_cmd); + len = slic_cmd_direct_write(sc, BIT(pos), 0x05, value); + pack->datalen = len; + packet_send(xbus, pack); + if(!offhook) + mark_ring(xpd, pos, 0); // No more rings + priv->ring_sig[pos] = 0; + return ret; +} + static void do_sethook(xpd_t *xpd, int pos, bool offhook) { unsigned long flags; @@ -227,7 +253,7 @@ static void do_sethook(xpd_t *xpd, int pos, bool offhook) spin_lock_irqsave(&xpd->lock, flags); mark_ring(xpd, pos, 0); // No more rings priv->ring_sig[pos] = 0; - CALL_XMETHOD(SETHOOK, xpd->xbus, xpd, pos, offhook); + __do_sethook(xpd->xbus, xpd, pos, offhook); if(offhook) { BIT_SET(xpd->hookstate, pos); } else { @@ -604,33 +630,6 @@ static /* 0x0F */ HOSTCMD(FXO, RING, int pos, bool on) return ret; } -static /* 0x0F */ HOSTCMD(FXO, SETHOOK, int pos, bool offhook) -{ - int ret = 0; - xpacket_t *pack; - slic_cmd_t *sc; - int len; - bool value; - struct FXO_priv_data *priv; - - BUG_ON(!xbus); - BUG_ON(!xpd); - priv = (struct FXO_priv_data*)xpd->priv; - value = (offhook) ? 0x09 : 0x08; - // value |= BIT(3); /* Bit 3 is for CID */ - DBG("%s/%s/%d: SETHOOK: value=0x%02X %s\n", xbus->busname, xpd->xpdname, pos, value, (offhook)?"OFFHOOK":"ONHOOK"); - MARK_LED(xpd, pos, LED_GREEN, (offhook)?LED_ON:LED_OFF); - XPACKET_NEW(pack, xbus, FXO, DAA_WRITE, xpd->id); - sc = &RPACKET_FIELD(pack, FXO, DAA_WRITE, slic_cmd); - len = slic_cmd_direct_write(sc, BIT(pos), 0x05, value); - pack->datalen = len; - packet_send(xbus, pack); - if(!offhook) - mark_ring(xpd, pos, 0); // No more rings - priv->ring_sig[pos] = 0; - return ret; -} - static /* 0x0F */ HOSTCMD(FXO, RELAY_OUT, byte which, bool on) { return -ENOSYS; @@ -806,7 +805,6 @@ xproto_table_t PROTO_TABLE(FXO) = { .card_ioctl = FXO_card_ioctl, .RING = XPROTO_CALLER(FXO, RING), - .SETHOOK = XPROTO_CALLER(FXO, SETHOOK), .RELAY_OUT = XPROTO_CALLER(FXO, RELAY_OUT), .CHAN_ENABLE = XPROTO_CALLER(FXO, CHAN_ENABLE), .CHAN_CID = XPROTO_CALLER(FXO, CHAN_CID), diff --git a/xpp/card_fxo.h b/xpp/card_fxo.h index 93b9174..6e5186b 100644 --- a/xpp/card_fxo.h +++ b/xpp/card_fxo.h @@ -32,7 +32,6 @@ enum fxo_opcodes { XPROTO_NAME(FXO, CHAN_ENABLE) = 0x0F, /* Write to DAA */ XPROTO_NAME(FXO, CHAN_CID) = 0x0F, /* Write to DAA */ XPROTO_NAME(FXO, RING) = 0x0F, /* Write to DAA */ - XPROTO_NAME(FXO, SETHOOK) = 0x0F, /* Write to DAA */ XPROTO_NAME(FXO, LED) = 0x0F, /* Write to DAA */ XPROTO_NAME(FXO, RELAY_OUT) = 0x0F, /* Write to DAA */ XPROTO_NAME(FXO, DAA_INIT) = 0x0F, /* Write to DAA */ diff --git a/xpp/card_fxs.c b/xpp/card_fxs.c index e59314f..1264348 100644 --- a/xpp/card_fxs.c +++ b/xpp/card_fxs.c @@ -77,7 +77,6 @@ static int SLIC_DIRECT_REQUEST(xbus_t *xbus, xpd_t *xpd, xpp_line_t lines, byte static /* 0x0F */ DECLARE_CMD(FXS, CHAN_ENABLE, xpp_line_t lines, bool on); static /* 0x0F */ DECLARE_CMD(FXS, CHAN_CID, int pos); static /* 0x0F */ DECLARE_CMD(FXS, RING, int pos, bool on); -static /* 0x0F */ DECLARE_CMD(FXS, SETHOOK, int pos, bool offhook); static /* 0x0F */ DECLARE_CMD(FXS, RELAY_OUT, byte which, bool on); static /* 0x0F */ DECLARE_CMD(FXS, SLIC_QUERY, int pos, byte reg_num); @@ -698,12 +697,6 @@ static /* 0x0F */ HOSTCMD(FXS, RING, int pos, bool on) return ret; } -static /* 0x0F */ HOSTCMD(FXS, SETHOOK, int pos, bool offhook) -{ - BUG(); // Should never be called - return 0; -} - static /* 0x0F */ HOSTCMD(FXS, RELAY_OUT, byte which, bool on) { int ret = 0; @@ -879,7 +872,6 @@ xproto_table_t PROTO_TABLE(FXS) = { .card_tick = FXS_card_tick, .RING = XPROTO_CALLER(FXS, RING), - .SETHOOK = XPROTO_CALLER(FXS, SETHOOK), .RELAY_OUT = XPROTO_CALLER(FXS, RELAY_OUT), .CHAN_ENABLE = XPROTO_CALLER(FXS, CHAN_ENABLE), .CHAN_CID = XPROTO_CALLER(FXS, CHAN_CID), diff --git a/xpp/card_fxs.h b/xpp/card_fxs.h index 1d81810..bed1a4f 100644 --- a/xpp/card_fxs.h +++ b/xpp/card_fxs.h @@ -33,7 +33,6 @@ enum fxs_opcodes { XPROTO_NAME(FXS, CHAN_POWER) = 0x0F, /* Write to SLIC */ XPROTO_NAME(FXS, CHAN_CID) = 0x0F, /* Write to SLIC */ XPROTO_NAME(FXS, RING) = 0x0F, /* Write to SLIC */ - XPROTO_NAME(FXS, SETHOOK) = 0x0F, /* Write to SLIC */ XPROTO_NAME(FXS, LED) = 0x0F, /* Write to SLIC */ XPROTO_NAME(FXS, RELAY_OUT) = 0x0F, /* Write to SLIC */ XPROTO_NAME(FXS, SLIC_INIT) = 0x0F, /* Write to SLIC */ diff --git a/xpp/xproto.c b/xpp/xproto.c index 7e6dd56..d6e3e89 100644 --- a/xpp/xproto.c +++ b/xpp/xproto.c @@ -309,7 +309,6 @@ int xproto_register(const xproto_table_t *proto_table) CHECK_XOP(CHAN_ENABLE); CHECK_XOP(CHAN_CID); CHECK_XOP(RING); - CHECK_XOP(SETHOOK); CHECK_XOP(RELAY_OUT); xprotocol_tables[type] = proto_table; diff --git a/xpp/xproto.h b/xpp/xproto.h index 4fcc81a..77e387f 100644 --- a/xpp/xproto.h +++ b/xpp/xproto.h @@ -164,7 +164,6 @@ struct xops { int (*CHAN_ENABLE)(xbus_t *xbus, xpd_t *xpd, xpp_line_t lines, bool on); int (*CHAN_CID)(xbus_t *xbus, xpd_t *xpd, int pos); int (*RING)(xbus_t *xbus, xpd_t *xpd, int pos, bool on); - int (*SETHOOK)(xbus_t *xbus, xpd_t *xpd, int pos, bool offhook); int (*RELAY_OUT)(xbus_t *xbus, xpd_t *xpd, byte which, bool on); }; |