diff options
author | Shaun Ruffell <sruffell@digium.com> | 2010-07-26 00:30:41 +0000 |
---|---|---|
committer | Shaun Ruffell <sruffell@digium.com> | 2010-07-26 00:30:41 +0000 |
commit | 113b9311ebca9311befbd017eb27f6a25949e6a6 (patch) | |
tree | 57dc2f7e5a6c358c0a13eb4a8d0f7856b5e8077a /drivers/dahdi/dahdi_dynamic.c | |
parent | 8682c2a90bd996765326fb6477a2466b63530b73 (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.c | 12 |
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 | |