wcte12xp: Move the VPMADT032 test/configuration to module load time.

The firmware load of the VPMADT032 was moved to startspan because a
quad-span card in the same system would would lock interrupts for
several seconds to load VPMOCT064/128 firmware. Now that the wct4xxp
driver no longer locks interrupts while loading its VPM module this
driver can move the VPMADT032 check/load back to module load time.

This is also required so that the presence of a hardware echo canceler
is marked on the span before it is registered with dahdi-base.c.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9946 a0bf4364-ded3-4de4-8d8a-66a801d63aff
This commit is contained in:
Shaun Ruffell 2011-06-02 20:02:03 +00:00
parent c5691ec293
commit 82acfbd41d

View File

@ -72,7 +72,6 @@ static int vpmnlpmaxsupp = DEFAULT_NLPMAXSUPP;
static void echocan_free(struct dahdi_chan *chan, struct dahdi_echocan_state *ec);
static int t1xxp_clear_maint(struct dahdi_span *span);
static int check_and_load_vpm(struct t1 *wc);
static const struct dahdi_echocan_features vpm150m_ec_features = {
.NLP_automatic = 1,
@ -935,7 +934,6 @@ static int t1xxp_startup(struct file *file, struct dahdi_span *span)
unsigned int i;
#endif
check_and_load_vpm(wc);
set_span_devicetype(wc);
#ifndef CONFIG_VOICEBUS_ECREFERENCE
@ -1605,6 +1603,9 @@ static int t1_software_init(struct t1 *wc)
wc->chans[x]->pvt = wc;
wc->chans[x]->chanpos = x + 1;
}
check_and_load_vpm(wc);
wc->span.ops = &t1_span_ops;
if (dahdi_register(&wc->span, 0)) {
t1_info(wc, "Unable to register span with DAHDI\n");