summaryrefslogtreecommitdiff
path: root/drivers/dahdi/pciradio.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/pciradio.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/pciradio.c')
-rw-r--r--drivers/dahdi/pciradio.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/drivers/dahdi/pciradio.c b/drivers/dahdi/pciradio.c
index 901d8f6..b6e885f 100644
--- a/drivers/dahdi/pciradio.c
+++ b/drivers/dahdi/pciradio.c
@@ -1458,6 +1458,14 @@ static int pciradio_hooksig(struct dahdi_chan *chan, enum dahdi_txsig txsig)
return 0;
}
+static const struct dahdi_span_ops pciradio_span_ops = {
+ .hooksig = pciradio_hooksig,
+ .open = pciradio_open,
+ .close = pciradio_close,
+ .ioctl = pciradio_ioctl,
+ .watchdog = pciradio_watchdog,
+};
+
static int pciradio_initialize(struct pciradio *rad)
{
int x;
@@ -1478,12 +1486,8 @@ static int pciradio_initialize(struct pciradio *rad)
}
rad->span.chans = &rad->chans;
rad->span.channels = rad->nchans;
- rad->span.hooksig = pciradio_hooksig;
- rad->span.open = pciradio_open;
- rad->span.close = pciradio_close;
rad->span.flags = DAHDI_FLAG_RBS;
- rad->span.ioctl = pciradio_ioctl;
- rad->span.watchdog = pciradio_watchdog;
+ rad->span.ops = &pciradio_span_ops;
init_waitqueue_head(&rad->span.maintq);
if (dahdi_register(&rad->span, 0)) {