summaryrefslogtreecommitdiff
path: root/drivers/dahdi/xpp/xpp_dahdi.c
diff options
context:
space:
mode:
authorTzafrir Cohen <tzafrir.cohen@xorcom.com>2011-10-26 19:05:49 +0000
committerTzafrir Cohen <tzafrir.cohen@xorcom.com>2011-10-26 19:05:49 +0000
commitae2b48f1ce94997de8e7e812b437c40836735184 (patch)
treee0d3e3f62c96514b7ccd74d739b667626fa85f74 /drivers/dahdi/xpp/xpp_dahdi.c
parentd4f7a34f07714e8c2f32460da0266a2891fcffca (diff)
xpp: PRI: use DAHDI new set_spantype() method
* Implement pri_set_spantype() method * Refactor code from PRI_card_dahdi_preregistration() into a new apply_pri_protocol(). - It is now called from both PRI_card_dahdi_preregistration() and set_pri_proto() - It now also sets span name + description * Remove old pri_protocol_store() method (pri_protocol is now RO) * Added pri_protocol_bystr() method (maybe promote it to DAHDI?) Signed-off-by: Oron Peled <oron.peled@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10280 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi/xpp/xpp_dahdi.c')
-rw-r--r--drivers/dahdi/xpp/xpp_dahdi.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/drivers/dahdi/xpp/xpp_dahdi.c b/drivers/dahdi/xpp/xpp_dahdi.c
index f2c7314..397cd2c 100644
--- a/drivers/dahdi/xpp/xpp_dahdi.c
+++ b/drivers/dahdi/xpp/xpp_dahdi.c
@@ -972,6 +972,16 @@ static const struct dahdi_span_ops xpp_rbs_span_ops = {
.echocan_name = xpp_echocan_name,
};
+void xpd_set_spanname(xpd_t *xpd)
+{
+ struct dahdi_span *span = &PHONEDEV(xpd).span;
+
+ snprintf(span->name, MAX_SPANNAME, "%s/%s", xpd->xbus->busname, xpd->xpdname);
+ snprintf(span->desc, MAX_SPANDESC, "Xorcom XPD #%02d/%1d%1d: %s",
+ xpd->xbus->num, xpd->addr.unit, xpd->addr.subunit, xpd->type_name);
+}
+EXPORT_SYMBOL(xpd_set_spanname);
+
static void xpd_init_span(xpd_t *xpd, unsigned offset, int cn)
{
struct dahdi_span *span;
@@ -983,7 +993,6 @@ static void xpd_init_span(xpd_t *xpd, unsigned offset, int cn)
memset(XPD_CHAN(xpd, i), 0, sizeof(struct dahdi_chan));
span = &PHONEDEV(xpd).span;
- snprintf(span->name, MAX_SPANNAME, "%s/%s", xpd->xbus->busname, xpd->xpdname);
span->deflaw = DAHDI_LAW_MULAW; /* default, may be overriden by card_* drivers */
span->channels = cn;
span->chans = PHONEDEV(xpd).chans;
@@ -994,9 +1003,7 @@ static void xpd_init_span(xpd_t *xpd, unsigned offset, int cn)
span->ops = &xpp_rbs_span_ops; /* Only with RBS bits */
else
span->ops = &xpp_span_ops;
-
- snprintf(PHONEDEV(xpd).span.desc, MAX_SPANDESC, "Xorcom XPD #%02d/%1d%1d: %s",
- xpd->xbus->num, xpd->addr.unit, xpd->addr.subunit, xpd->type_name);
+ xpd_set_spanname(xpd);
list_add_tail(&span->device_node, &xpd->xbus->ddev->spans);
}