summaryrefslogtreecommitdiff
path: root/drivers/dahdi/wctdm24xxp/xhfc.h
diff options
context:
space:
mode:
authorShaun Ruffell <sruffell@digium.com>2011-06-02 20:01:34 +0000
committerShaun Ruffell <sruffell@digium.com>2011-06-02 20:01:34 +0000
commitcd419f86a583306c63a461b7e79a52e96c1e20bc (patch)
tree41b574bfc2b9ce4a87bbdfed680ed69895342198 /drivers/dahdi/wctdm24xxp/xhfc.h
parente1359adcca7980a13988af0366455bb2f4cb0980 (diff)
dahdi: Allow dahdi_span_ops.[chan|span]config and startup to block.
This change ensures that the dahdi_span_ops callbacks are not called with any spinlocks held, and that the module is pinned in memory, and also passes the struct file * pointer to the callbacks. Passing the file pointer to the callbacks allows the board drivers to check any flags on the file descriptor used to configure the span/channel. The intent here is to allow dahdi_config to open the /dev/dahdi/ctl file in a non-blocking mode in case there is a lengthy processes that needs to happen as part of configuration. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9940 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi/wctdm24xxp/xhfc.h')
-rw-r--r--drivers/dahdi/wctdm24xxp/xhfc.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/dahdi/wctdm24xxp/xhfc.h b/drivers/dahdi/wctdm24xxp/xhfc.h
index e058af6..825fa53 100644
--- a/drivers/dahdi/wctdm24xxp/xhfc.h
+++ b/drivers/dahdi/wctdm24xxp/xhfc.h
@@ -38,9 +38,10 @@ int wctdm_init_b400m(struct wctdm *wc, int card);
int wctdm_bri_checkisr(struct wctdm *wc, int card, int offset);
void wctdm_unload_b400m(struct wctdm *wc, int card);
void wctdm_hdlc_hard_xmit(struct dahdi_chan *chan);
-int b400m_spanconfig(struct dahdi_span *span, struct dahdi_lineconfig *lc);
+int b400m_spanconfig(struct file *file, struct dahdi_span *span,
+ struct dahdi_lineconfig *lc);
int b400m_dchan(struct dahdi_span *span);
-int b400m_chanconfig(struct dahdi_chan *chan, int sigtype);
+int b400m_chanconfig(struct file *file, struct dahdi_chan *chan, int sigtype);
void b400m_post_init(struct b400m *b4);
void b400m_set_dahdi_span(struct b400m *b4, int spanno,
struct wctdm_span *wspan);