summaryrefslogtreecommitdiff
path: root/drivers/dahdi/dahdi_dynamic.c
diff options
context:
space:
mode:
authorShaun Ruffell <sruffell@digium.com>2010-07-26 00:30:41 +0000
committerShaun Ruffell <sruffell@digium.com>2010-07-26 00:30:41 +0000
commit113b9311ebca9311befbd017eb27f6a25949e6a6 (patch)
tree57dc2f7e5a6c358c0a13eb4a8d0f7856b5e8077a /drivers/dahdi/dahdi_dynamic.c
parent8682c2a90bd996765326fb6477a2466b63530b73 (diff)
dahdi: Move the callbacks in dahdi_span into its own structure.
Part of preparation for adding additional callbacks to allow board drivers to advertise and support gathering pre-echocan data from hardware echocans. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8985 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi/dahdi_dynamic.c')
-rw-r--r--drivers/dahdi/dahdi_dynamic.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/dahdi/dahdi_dynamic.c b/drivers/dahdi/dahdi_dynamic.c
index 9b2542c..6a5bab5 100644
--- a/drivers/dahdi/dahdi_dynamic.c
+++ b/drivers/dahdi/dahdi_dynamic.c
@@ -527,6 +527,13 @@ static int ztd_close(struct dahdi_chan *chan)
return 0;
}
+static const struct dahdi_span_ops dynamic_ops = {
+ .rbsbits = ztd_rbsbits,
+ .open = ztd_open,
+ .close = ztd_close,
+ .chanconfig = ztd_chanconfig,
+};
+
static int create_dynamic(struct dahdi_dynamic_span *zds)
{
struct dahdi_dynamic *z;
@@ -590,10 +597,7 @@ static int create_dynamic(struct dahdi_dynamic_span *zds)
z->span.deflaw = DAHDI_LAW_MULAW;
z->span.flags |= DAHDI_FLAG_RBS;
z->span.chans = z->chans;
- z->span.rbsbits = ztd_rbsbits;
- z->span.open = ztd_open;
- z->span.close = ztd_close;
- z->span.chanconfig = ztd_chanconfig;
+ z->span.ops = &dynamic_ops;
for (x=0; x < z->span.channels; x++) {
sprintf(z->chans[x]->name, "DYN/%s/%s/%d", zds->driver, zds->addr, x+1);
z->chans[x]->sigcap = DAHDI_SIG_EM | DAHDI_SIG_CLEAR | DAHDI_SIG_FXSLS |