diff options
author | Shaun Ruffell <sruffell@digium.com> | 2011-06-02 20:02:28 +0000 |
---|---|---|
committer | Shaun Ruffell <sruffell@digium.com> | 2011-06-02 20:02:28 +0000 |
commit | b7fc6dac6f4931514221a5ee75e5db28851d08fe (patch) | |
tree | a94bcbcda3abb709659fe9a75b6d8600978f0d33 /drivers/dahdi/wctdm24xxp | |
parent | 87c911c8248a41c5e57bd7c19dad106a1b30d531 (diff) |
wcte12xp, wctdm24xxp: Separate test for VPMADT032 and initialization.
Part of increasing system startup speed.
Splitting these two operations facilitate checking if there is a module
present synchronously on driver load from the actual load of the firmware and
configuration of the channels.
This will allow the presence of the VPM module to be flagged on the span
before registration, but load and configuration can happen in the background.
When the modules are eventually loaded via udev, there will be enough time
from the time the drivers are loaded to when dahdi_cfg will run to complete
the firmware load, eliminating the need to block the driver here.
Signed-off-by: Shaun Ruffell <sruffell@digium.com>
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9951 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi/wctdm24xxp')
-rw-r--r-- | drivers/dahdi/wctdm24xxp/base.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/dahdi/wctdm24xxp/base.c b/drivers/dahdi/wctdm24xxp/base.c index 03d56e2..7107808 100644 --- a/drivers/dahdi/wctdm24xxp/base.c +++ b/drivers/dahdi/wctdm24xxp/base.c @@ -3841,7 +3841,9 @@ static int wctdm_initialize_vpmadt032(struct wctdm *wc) /* wc->vpmadt032->context = wc; */ /* Pull the configuration information from the span holding * the analog channels. */ - res = vpmadt032_init(wc->vpmadt032, &wc->vb); + res = vpmadt032_test(wc->vpmadt032, &wc->vb); + if (!res) + res = vpmadt032_init(wc->vpmadt032); if (res) { vpmadt032_free(wc->vpmadt032); wc->vpmadt032 = NULL; |