diff options
author | Tzafrir Cohen <tzafrir.cohen@xorcom.com> | 2011-10-26 19:05:49 +0000 |
---|---|---|
committer | Tzafrir Cohen <tzafrir.cohen@xorcom.com> | 2011-10-26 19:05:49 +0000 |
commit | ae2b48f1ce94997de8e7e812b437c40836735184 (patch) | |
tree | e0d3e3f62c96514b7ccd74d739b667626fa85f74 /drivers/dahdi/xpp/xpp_dahdi.c | |
parent | d4f7a34f07714e8c2f32460da0266a2891fcffca (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.c | 15 |
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); } |