76df5ab26b
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
52 lines
1.5 KiB
C
52 lines
1.5 KiB
C
/*
|
|
* B400M Quad-BRI module Driver
|
|
* Written by Andrew Kohlsmith <akohlsmith@mixdown.ca>
|
|
*
|
|
* Copyright (C) 2010 Digium, Inc.
|
|
* All rights reserved.
|
|
*
|
|
*/
|
|
|
|
/*
|
|
* See http://www.asterisk.org for more information about
|
|
* the Asterisk project. Please do not directly contact
|
|
* any of the maintainers of this project for assistance;
|
|
* the project provides a web site, mailing lists and IRC
|
|
* channels for your use.
|
|
*
|
|
* This program is free software, distributed under the terms of
|
|
* the GNU General Public License Version 2 as published by the
|
|
* Free Software Foundation. See the LICENSE file included with
|
|
* this program for more details.
|
|
*/
|
|
|
|
|
|
#ifndef _B4XXM_H_
|
|
#define _B4XXM_H_
|
|
|
|
extern int bri_debug;
|
|
extern int bri_spanfilter;
|
|
extern int bri_teignorered;
|
|
extern int bri_alarmdebounce;
|
|
extern int bri_persistentlayer1;
|
|
extern int timingcable;
|
|
|
|
struct b400m;
|
|
|
|
/* probes the given card to see if it's a B400M */
|
|
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 file *file, struct dahdi_span *span,
|
|
struct dahdi_lineconfig *lc);
|
|
int b400m_dchan(struct dahdi_span *span);
|
|
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);
|
|
void b400m_module_init(void);
|
|
void b400m_module_cleanup(void);
|
|
|
|
#endif /* _B4XX_H_ */
|