7 years agodahdi_dynamic: Do not call into dahdi_dynamic without holding reference.
Shaun Ruffell [Tue, 3 Apr 2012 20:10:03 +0000 (20:10 +0000)]
dahdi_dynamic: Do not call into dahdi_dynamic without holding reference.

Instead of registering a function pointer, register a dahdi_dynamic_ops
structure that contains the owner as well as the ioctl callback. This way
dahdi.ko can bump up the reference count on dahdi_dynamic.ko before calling
the ioctl callback.

Also, use the registration mutex to guard against the module being unloaded
between the time the structure pointer was checked, and the module reference
is taken.

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

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10623

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10628 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agowctdm24xxp, wcte12xp: Allow VPMOCT032 firmware to be compiled into driver.
Shaun Ruffell [Mon, 2 Apr 2012 14:05:17 +0000 (14:05 +0000)]
wctdm24xxp, wcte12xp: Allow VPMOCT032 firmware to be compiled into driver.

Enables the driver to update firmware on systems that do not have the firmware
loader configured / enabled (Linux config option CONFIG_FW_LOADER). Compiling
the firmware into the driver increase the memory footprint by around ~440K.

Internal-Issue-ID: DAHDI-963
Reported-and-Tested-by: Guenther Kelleter
Signed-off-by: Shaun Ruffell <sruffell@digium.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10618

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10620 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agowctdm24xxp: Remove forward declaration of inline for GCC 3.4.4
Shaun Ruffell [Thu, 29 Mar 2012 15:28:43 +0000 (15:28 +0000)]
wctdm24xxp: Remove forward declaration of inline for GCC 3.4.4

GCC 3.4.4 does not allow forward declaration of inline functions.

Internal-Issue-ID: DAHLIN-286
Reported-by: Guenther Kelleter
Patches: wctdm24xxp-inline.patch uploaded by Guenther Kelleter (License #6372)
Signed-off-by: Shaun Ruffell <sruffell@digium.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10613

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10614 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agowct4xxp: Trivial formatting changes around request_irq. branched-2.6.1-rc2
Shaun Ruffell [Thu, 22 Mar 2012 18:36:14 +0000 (18:36 +0000)]
wct4xxp: Trivial formatting changes around request_irq.

Quiet some checkpatch warnings introduced by the last patch. I kept this
separate since it may have obscured the real change made in the previous
commit if combined.

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

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10590

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10594 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agowct4xxp: Disable all interrupts explicitly in interrupt handler.
Shaun Ruffell [Thu, 22 Mar 2012 18:36:10 +0000 (18:36 +0000)]
wct4xxp: Disable all interrupts explicitly in interrupt handler.

The driver makes the assumption that interrupts are disabled but this cannot
be guaranteed. We'll explicity disable interrupts on the local processor while
the interrupt handler is running.

This eliminates the "IRQF_DISABLED is not guaranteed on shared IRQs" warning
when loading the driver.

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

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10589

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10593 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agodahdi_dynamic_eth: Fix compilation on kernels < 2.6.22.
Shaun Ruffell [Thu, 22 Mar 2012 18:36:06 +0000 (18:36 +0000)]
dahdi_dynamic_eth: Fix compilation on kernels < 2.6.22.

Resolves the follwing build error:
  drivers/dahdi/dahdi_dynamic_eth.c: In function ‘ztdeth_exit’:
  drivers/dahdi/dahdi_dynamic_eth.c:448: error: implicit declaration of function ‘cancel_work_sync’

RHEL kernel versions 2.6.18-238 (5.6) and greater had cancel_work_sync()
backported which is what I did my original smoke test on.

Reported-by: Oron Peled <oron.peled@xorcom.com>
Signed-off-by: Shaun Ruffell <sruffell@digium.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10588

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10592 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agodahdi_dynamic_eth: Prevent crash is packet arrives before span is fully configured.
Shaun Ruffell [Thu, 22 Mar 2012 18:36:01 +0000 (18:36 +0000)]
dahdi_dynamic_eth: Prevent crash is packet arrives before span is fully configured.

It was possible after a dynamic ethernet span was created for a packet to come
in before the dahdi_span was fully initialized. The result would be a NULL
pointer dereference. Now just discard any packets that might come in during
this time window.

Internal-Issue-ID: DAHLIN-280
Reported-by: Pavel Selivanov
Signed-off-by: Shaun Ruffell <sruffell@digium.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10587

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10591 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: FXS: added a 'lower_ringing_noise' parameter branched-2.6.1-rc1
Oron Peled [Wed, 21 Mar 2012 20:35:33 +0000 (20:35 +0000)]
xpp: FXS: added a 'lower_ringing_noise' parameter

* Adds a new parameter, 'lower_ringing_noise', to module xpd_fxs.

* Makes the "power-down" behaviour that was added
  in upstream svn r10478, switchable in runtime.

* By default (false), makes the vbat_h behave like it did
  before the power-down change.
  - I.e: vbat_h is held throughout the ringing period (during
    both ring-up/ring-down)
  - So this patch revert part of r10478

* When switched to true, activate the "power-down" behaviour.
  - I.e: vbat_h follows the ring-up/ring-down.
  - This behaviour lowers the noise caused by group ringing of
    FXS channels in the same unit, but causes problems with CallerID.

Signed-off-by: Oron Peled <oron.peled@xorcom.com>
Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10574

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10576 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: FXS: atomic vbat_h power handling
Oron Peled [Wed, 21 Mar 2012 20:34:05 +0000 (20:34 +0000)]
xpp: FXS: atomic vbat_h power handling

* In do_chan_power() make vbat_h changes atomic.
* As a result we can ignore duplicate requests.
  This will allow cleaner logic in the next commit.
* Added proper debug messages.

Signed-off-by: Oron Peled <oron.peled@xorcom.com>
Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10573

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10575 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoremove a duplicate dev_set_name()
Oron Peled [Wed, 21 Mar 2012 19:36:32 +0000 (19:36 +0000)]
remove a duplicate dev_set_name()

Remove duplicate definition from dahdi-sysfs.c

Signed-off-by: Oron Peled <oron.peled@xorcom.com>
Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10447

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10572 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agodahdi_dynamic: Since dynamic devices are 'parentless' we must name them.
Shaun Ruffell [Wed, 21 Mar 2012 19:12:10 +0000 (19:12 +0000)]
dahdi_dynamic: Since dynamic devices are 'parentless' we must name them.

This in conjunction with r10449 "A parent-less device should not crash dahdi",
this allows dahdi_dynamic spans to work post the dahdi_devices changes in

The full address of the device is not used since kernels prior to 2.6.31 limit
the length of a devicename to 20 characters.  The full address of the device
can be pulled out of the "hardware_id" and "type" fields of the span.

This patch is just to get things working again. dahdi_dynamic devices *may*
still have issues if the auto_assign_spans module parameter is 0.

Internal-Issue-ID: DAHLIN-280
Reported-by: Pavel Selivanov
Signed-off-by: Shaun Ruffell <sruffell@digium.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10563

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10571 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agodahdi_dynamic_eth: Move tx packet flushing to process context.
Shaun Ruffell [Wed, 21 Mar 2012 19:12:08 +0000 (19:12 +0000)]
dahdi_dynamic_eth: Move tx packet flushing to process context.

The masterspan can be, and often is, called with interrupts disabled but
dev_queue_xmit() needs to be called with interrupts enabled. This potentially
fixes a deadlock.

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

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10562

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10570 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agodahdi: Update dev_set_name / dev_name for RHEL 5.6+.
Shaun Ruffell [Wed, 21 Mar 2012 19:12:06 +0000 (19:12 +0000)]
dahdi: Update dev_set_name / dev_name for RHEL 5.6+.

This is needed because dev_name() is mapped to kobject_name() in a backport,
but the kobject name isn't set until after device_add().  The result would be
parentless devices would fail since dahdi would not think a name was set for
these devices.

For these systems, we'll set both the bus_id string and the underlying

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10561

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10569 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoA parent-less device should not crash dahdi
Oron Peled [Wed, 21 Mar 2012 19:12:02 +0000 (19:12 +0000)]
A parent-less device should not crash dahdi

* A parent-less device should not crash dahdi:
  - Access span->parent->dev instead of span->parent-dev.parent
    in soem cases.
  - Access span->parent->dev via new inline span_device()
  - Use span_device() in all dahdi_dev_{dbg,info}()

* Allow low-level drivers to set their device name.
  - Drivers that don't use this feature get the default name
    based on the parent device name
  - Parent-less devices which don't set their name, fails
    to register with -EINVAL

Signed-off-by: Oron Peled <oron.peled@xorcom.com>
Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10449

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10568 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agowcte12xp, wctdm24xxp: Add compile-time option to disable ASPM for PCIe devices.
Shaun Ruffell [Wed, 21 Mar 2012 19:11:57 +0000 (19:11 +0000)]
wcte12xp, wctdm24xxp: Add compile-time option to disable ASPM for PCIe devices.

Certain BIOSes appear to enable ASPM even though it is not fully supported by
the platform. Also, since the PCIe links for TDM cards are always in use it
does not make sense to allow them to transition to the disabled state.

Just turn off power management on the PCIe links completely. For more
information see http://lwn.net/Articles/449448/.

Internal-Issue-ID: DAHLIN-283
Signed-off-by: Shaun Ruffell <sruffell@digium.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10557

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10567 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agowct4xxp: Add compile-time option to disable ASPM for PCIe devices.
Shaun Ruffell [Wed, 21 Mar 2012 19:11:53 +0000 (19:11 +0000)]
wct4xxp: Add compile-time option to disable ASPM for PCIe devices.

Certain BIOSes appear to enable ASPM even though it is not fully supported by
the platform. Also, since the PCIe links for TDM cards are always in use it
does not make sense to allow them to transition to the disabled state.

Just turn off power management on the PCIe links completely. For more
information see http://lwn.net/Articles/449448/.

Internal-Issue-ID: DAHLIN-283
Signed-off-by: Shaun Ruffell <sruffell@digium.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10558

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10566 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agowct4xxp: __t4_frame_in and __t4_framer_out slowdowns.
Shaun Ruffell [Wed, 21 Mar 2012 19:11:49 +0000 (19:11 +0000)]
wct4xxp: __t4_frame_in and __t4_framer_out slowdowns.

This is a partial revert of r10234 "wct4xxp: __t4_framer_in and
__t4_framer_out speedups."

There were some platform + firmware version combinations that would fail to
properly configure the framer with the aforementioned speedups. The originally
reported sympton was that interrupts would fail to start and while
troubleshooting I also saw cases where one of the spans would stay in alarm
after starting. By adding in additional reads to the version register, the
overall process of writing / reading from the framer control registers is
slowed down which increases reliability.

This change does *not* affect the main path of TDM data which is DMAed
directly into buffers in host memory and are not read / written to / from
framer registers directly.

Reported-and-Tested-by: Vahan Yerkanian <vahan@arminco.com>
Signed-off-by: Shaun Ruffell <sruffell@digium.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10559

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10565 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agodahdi: Add dahdi_pci_disable_link_state for kernel < 2.6.25.
Shaun Ruffell [Wed, 21 Mar 2012 19:11:44 +0000 (19:11 +0000)]
dahdi: Add dahdi_pci_disable_link_state for kernel < 2.6.25.

Will allow the ASPM (Active State Power Management) state to be disabled on
PCIe devices before kernel version 2.6.25.

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

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10556

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10564 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: firmwares: useless 0x1A at EOF
Tzafrir Cohen [Tue, 20 Mar 2012 11:20:36 +0000 (11:20 +0000)]
xpp: firmwares: useless 0x1A at EOF

Remove a mostly harmless 0x1A (^Z) at the end of the file. If you
add a NL after it, it breaks the firmware loading.

Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10550

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10553 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: firmwares to support E-Main 4
Tzafrir Cohen [Sun, 18 Mar 2012 19:00:04 +0000 (19:00 +0000)]
xpp: firmwares to support E-Main 4

USB firmware (USB_FW.201.hex 10402) and FPGA firmware
(FPGA_1161.201.hex 10480) with support of the new E-Main 4 Astribank

(This was accidentally labeled as 'E-Main 3' in some previous commit

Also includes Makefile fixes from r10536.

Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10535

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10538 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: USB_FW rev 10401: minor 6FXS/2FXO caps issue
Tzafrir Cohen [Sun, 18 Mar 2012 18:57:51 +0000 (18:57 +0000)]
xpp: USB_FW rev 10401: minor 6FXS/2FXO caps issue

Fixes an issues with the 6FXS/2FXO module: if an extra FXS or FXO module
is added to a system with such a module, an excessive number of port
licenses was accidentally required (as if the 6FXS/2FXO module required
8FXS/8FXO licenses).

Internal-Issue-ID: #1371
Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10534

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10537 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agodahdi_dummy: Fix compilation since dahdi-linux 2.6.0.
Shaun Ruffell [Fri, 16 Mar 2012 16:11:29 +0000 (16:11 +0000)]
dahdi_dummy: Fix compilation since dahdi-linux 2.6.0.

Even though dahdi_dummy is no longer built by default, the adoption of
dahdi_devices in 2.6 broke the ability to compile. This was not intended as
there are some packagers who still patch the Kbuild file to enable

Internal-Issue-ID: DAHLIN-274
Signed-off-by: Shaun Ruffell <sruffell@digium.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10486

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10526 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: '%d' -> '%lu' when displaying module_refcount on kernel versions >= 3.3
Shaun Ruffell [Fri, 16 Mar 2012 16:11:25 +0000 (16:11 +0000)]
xpp: '%d' -> '%lu' when displaying module_refcount on kernel versions >= 3.3

Upstream commit bd77c047 "module: struct module_ref should contains long
fields" changed the return of module_refcount from int to unsigned long. This
change eliminates a warning from the string format specifier.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10485



git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10525 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: Use 'bool' type for boolean module parameters on kernel versions >= 2.6.31.
Shaun Ruffell [Fri, 16 Mar 2012 16:11:20 +0000 (16:11 +0000)]
xpp: Use 'bool' type for boolean module parameters on kernel versions >= 2.6.31.

Eliminates warnings that are a result of upstream commit 72db395ffa
"module_param: check that bool parameters really are bool."

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10484



git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10524 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: FXS: better power-down to lower noise
Oron Peled [Thu, 15 Mar 2012 17:36:48 +0000 (17:36 +0000)]
xpp: FXS: better power-down to lower noise

* Now every linefeed control command which is not RING'ing
  powers-down the SLIC. This reduce audible noise when
  several channels are ringing.

* Simplify code by removing redundant calls to do_chan_power()
  before linefeed_control()

* Manage vbat_h state so we skip do_chan_power() calls when
  there isn't a state change

* Export vbat_h state to /proc/.../fxs_info

Signed-off-by: Oron Peled <oron.peled@xorcom.com>
Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10478

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10490 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: reset Astribank SPI busses
Oron Peled [Thu, 15 Mar 2012 17:35:57 +0000 (17:35 +0000)]
xpp: reset Astribank SPI busses

* A driver reload should reset Astribank hardware
* This patch send an SPI reset after we get AB_DESCRIPTION reply from Astribank

Signed-off-by: Oron Peled <oron.peled@xorcom.com>
Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10474

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10489 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agowctdm24xxp: Shorten RINGOFF debounce interval from 512ms to 128ms.
Shaun Ruffell [Thu, 15 Mar 2012 15:03:27 +0000 (15:03 +0000)]
wctdm24xxp: Shorten RINGOFF debounce interval from 512ms to 128ms.

In commit r10168 "wctdm24xxp: Use time interval for debouncing FXO ring
detect" [1], I inadvertently changed the debounce interval of the RINGOFF
event from 128ms to 512ms. The result was a potential failure to detect CID,
depending on line conditions, since Asterisk would bump the rx gains on the
channel in the middle of the CID spill as opposed to before the CID spill.

This fixes a regression first introduced in DAHDI-Linux 2.6.0.

[1] http://svnview.digium.com/svn/dahdi?view=revision&revision=10168

Internal-Issue-ID: DAHDI-951
Reported-and-Tested-by: Jack Wilson <ljwilson@digitalav.com>
Signed-off-by: Shaun Ruffell <sruffell@digium.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10473

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10481 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoUSB_RECOV.hex: recovering from xpp hardware issues
Tzafrir Cohen [Tue, 7 Feb 2012 22:19:39 +0000 (22:19 +0000)]
USB_RECOV.hex: recovering from xpp hardware issues

USB_RECOV.hex, rev. 9760. It may be used to recover from certain
issues of the USB controller of the Astribank (when an Astribank
is not detected as such) by Support staff.

Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10455

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10457 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoAstribank I firmwares rev. 7107
Tzafrir Cohen [Wed, 25 Jan 2012 20:51:21 +0000 (20:51 +0000)]
Astribank I firmwares rev. 7107

A slightly newer firmware (Xorcom rev. 7107) for older (non Astribank
II) Astribank modules. Was accidentally left uncommited. Includes minor
bug fixes.

No change for any relatively recent (Astribank II) Astribank.

Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10443

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10445 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoBuild OSLEC EC if in the tree
Tzafrir Cohen [Tue, 17 Jan 2012 14:50:01 +0000 (14:50 +0000)]
Build OSLEC EC if in the tree

Build the OSLEC echo canceller (drivers/staging/echo and
dahdi_echocan_oslec) if the code of oslec is present in the tree.

Also closing another issue regarding documentation of building OSLEC,
as it is now even clearer than before.

Patch has been used in the Debian package for quite some time.

Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

(closes issue DAHLIN-110)
Reported by: biohumanoid (Pavel Selivanov)
     oslec_auto.diff uploaded by tzafrir (license 5035)

(closes issue DAHLIN-261)

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10440

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10442 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: handle failures during dahdi_register_device()
Oron Peled [Tue, 10 Jan 2012 22:09:34 +0000 (22:09 +0000)]
xpp: handle failures during dahdi_register_device()

* If dahdi_register_device() failed, not all resources were freed.
  When dahdi_unregister_device() was called later (during driver
  removal) a panic was caused.

* Add proper error handling for possible failures in
  - new xbus_free_ddev() safely free an xbus->ddev
  - This is called from all failures points.
  - It is also called from xbus_unregister_dahdi_device()

Signed-off-by: Oron Peled <oron.peled@xorcom.com>
Acked-By: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10410

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10419 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: Don't deactivate XPDs on unregistration
Oron Peled [Tue, 10 Jan 2012 22:09:29 +0000 (22:09 +0000)]
xpp: Don't deactivate XPDs on unregistration

* A bug was introduced during migration to dahdi_device code:
* Marking XPDs as non-functional (card_present=0, XPD_STATE_NOHW)
  was moved from xbus_request_removal() into xpd_dahdi_preunregister()
* As a result, unregistering an Astribank, made it non-functional
  so trying to re-register it later caused errors (e.g: "Cannot open"
  error message from xpp_open())
* This fix move XPD deactivation into the proper location (during

Signed-off-by: Oron Peled <oron.peled@xorcom.com>
Acked-By: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10409

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10418 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: bugfix: fix bad refcount
Oron Peled [Tue, 10 Jan 2012 22:09:25 +0000 (22:09 +0000)]
xpp: bugfix: fix bad refcount

Code path called in error condition contained an superflous put_xpd() call

Signed-off-by: Oron Peled <oron.peled@xorcom.com>
Acked-By: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10408

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10417 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agowct4xxp: VPM module creates noise on alternate channels on E1 spans.
Shaun Ruffell [Tue, 10 Jan 2012 22:05:47 +0000 (22:05 +0000)]
wct4xxp: VPM module creates noise on alternate channels on E1 spans.

The VPMOCT128 module was using the VPMOCT256 timeslots assigments which would
mean that channels that should be marked alaw were being set in ulaw. This
only affected E1 spans since by default all spans are configured for ulaw by

This fixes a regression introduced in r10290 [1] "wct4xxp: Add support for
TE820 and VPMOCT256", first released in 2.6.0, that only affects E1 spans on a
quad and dual-span card when used with the hardware echocanceler.

[1] http://svnview.digium.com/svn/dahdi?view=revision&revision=10290

Internal-Issue-ID: DAHDI-945, DAHLIN-275
Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10414

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10416 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agowctdm24xxp: FXS on-hook transmission timer incorrect.
Shaun Ruffell [Tue, 10 Jan 2012 22:05:43 +0000 (22:05 +0000)]
wctdm24xxp: FXS on-hook transmission timer incorrect.

The DAHDI_ONHOOKTRANSFER ioctl was incorrectly setting the ohttimer to 0. The
result was that an FXS port was leaving the on-hook transfer state before
finishing the transmission.

This was discovered while looking at why ./fxstest dtmfcid  was not able to
pass the DTMF callerid digits to an attached FXO port properly.

Fixes a regression introduced in r10167 "wctdm24xxp: Use interval for checking
FXS on hook transfer timer." [1], first released in 2.6.0.

[1] http://svnview.digium.com/svn/dahdi?view=revision&revision=10167

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

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10413

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10415 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoCreating branch for 2.6.
Shaun Ruffell [Wed, 4 Jan 2012 22:19:55 +0000 (22:19 +0000)]
Creating branch for 2.6.

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.6@10406 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoAvoid building PCI devices if kernel has no PCI branched-2.6
Tzafrir Cohen [Tue, 3 Jan 2012 22:44:43 +0000 (22:44 +0000)]
Avoid building PCI devices if kernel has no PCI

Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10397 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agowctdm24xxp: Fix bug if hook state on FXS changes before channel configuration.
Shaun Ruffell [Tue, 3 Jan 2012 19:25:46 +0000 (19:25 +0000)]
wctdm24xxp: Fix bug if hook state on FXS changes before channel configuration.

If the hook state on an FXS port changes before the channel is
configured with dahdi_cfg it is possible to erroneously force the line
feed register open without setting a timer to clear it.

The result would be a "dead" channel that cannot be cleared unless the
driver is reloaded and warning in the kernel log that "0 is an invalid
signaling state for an FXS module".

This change makes the OFF_HOOK to ON_HOOK change behave just as the
ON_HOOK to OFF_HOOK change has.

Internal-Issue-ID: DAHLIN-272
Reported-and-Tested-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>
Signed-off-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10396 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agowct4xxp: Reduce time spent waiting for auth done bit on TE820.
Shaun Ruffell [Tue, 3 Jan 2012 19:25:42 +0000 (19:25 +0000)]
wct4xxp: Reduce time spent waiting for auth done bit on TE820.

It is not necessary to wait a full second for the donebit.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10395 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: BRI: batch D-Channel packets to fix frag.
Oron Peled [Mon, 2 Jan 2012 14:07:14 +0000 (14:07 +0000)]
xpp: BRI: batch D-Channel packets to fix frag.

* We need to split the BRI D-Channel (HDLC) frames to smaller packets,
  limitation of the FPGA.
* This changes batches BRI D-channel packets of the same HDLC frame to a
  single XPP frame.
* Avoids an accidental fragmantion in case we were delayed for a few ms-s.
* Also improves efficiency.

Signed-off-by: Oron Peled <oron.peled@xorcom.com>
Acked-By: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10390 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: BRI: split multibyte functionality
Oron Peled [Mon, 2 Jan 2012 14:06:50 +0000 (14:06 +0000)]
xpp: BRI: split multibyte functionality

* The zero lenth case (Magic request) was split into
  send_magic_request() function. It was not possible
  to move it into card_bri.c, because it is called
  directly from the general interface we provide for
  register read/write via sysfs/proc.

* The normal case (send_multibyte_request) was moved from
  card_global.c into card_bri.c

* This sets the stage to enable bundling of multibyte
  packets into frames (like we do for PCM).

Signed-off-by: Oron Peled <oron.peled@xorcom.com>
Acked-By: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10389 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: BRI: remove trivial BRISTUFF wrappers
Oron Peled [Mon, 2 Jan 2012 14:06:25 +0000 (14:06 +0000)]
xpp: BRI: remove trivial BRISTUFF wrappers

Now that legacy BRISTUFF code is gone, some wrapper
functions became trivial. Removed these wrappers
and inlined their contents.

Signed-off-by: Oron Peled <oron.peled@xorcom.com>
Acked-By: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10388 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: BRI: remove legacy BRISTUFF code
Oron Peled [Mon, 2 Jan 2012 14:05:58 +0000 (14:05 +0000)]
xpp: BRI: remove legacy BRISTUFF code

Signed-off-by: Oron Peled <oron.peled@xorcom.com>
Acked-By: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10387 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: Allow up to 128 Astribanks on a system
Tzafrir Cohen [Wed, 21 Dec 2011 18:10:44 +0000 (18:10 +0000)]
xpp: Allow up to 128 Astribanks on a system

This is also a work around the bug fixed in the previous commit.

Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10384 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: bad module_put() when too many Astribanks
Oron Peled [Wed, 21 Dec 2011 18:10:15 +0000 (18:10 +0000)]
xpp: bad module_put() when too many Astribanks

module_put() that was added while developing the sysfs code. The real
module_get()/module_put() pair were already removed at the time of
developing code for this branch. It was only triggered when using a
system with more than 32 (MAX_BUSES) Astribanks.

Signed-off-by: Oron Peled <oron.peled@xorcom.com>
Acked-By: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10383 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoDAHDI-linux: Fix "surprise removal" problems
Oron Peled [Wed, 14 Dec 2011 19:27:27 +0000 (19:27 +0000)]
DAHDI-linux: Fix "surprise removal" problems

* Added a nodev_*() file_operations that handle system calls
  from user-space after surprise device removal.

Signed-off-by: Oron Peled <oron.peled@xorcom.com>
Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>
Acked-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10381 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agowct4xxp: Fail startup if not generating interrupts.
Shaun Ruffell [Wed, 14 Dec 2011 19:02:53 +0000 (19:02 +0000)]
wct4xxp: Fail startup if not generating interrupts.

I've seen some platforms that do not properly route the interrupt from the
card to the host CPU. In these cases the card potentially could appear to be
greened up even though no data is flowing over the spans.

This change allows dahdi_cfg to return an error when this occurs, and also
ensures that all the spans are in RED alarm.

For example, dahdi_cfg output when the card is not generating interrupts:
  # dahdi_cfg
  DAHDI startup failed: Input/output error

And the kernel log will contain a string like:
  wct4xxp 0000:02:08.0: Interrupts not detected.

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10380 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agodahdi: Return dahdi_span_ops.startup callback errors to userspace.
Shaun Ruffell [Wed, 14 Dec 2011 19:02:48 +0000 (19:02 +0000)]
dahdi: Return dahdi_span_ops.startup callback errors to userspace.

Allows dahdi_cfg to return an error code if a board driver fails it's startup
call for any reason.

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@10379 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agowctdm24xxp: Do not call voicebus_release() before wctdm_back_out_gracefully()
Shaun Ruffell [Mon, 12 Dec 2011 18:18:14 +0000 (18:18 +0000)]
wctdm24xxp: Do not call voicebus_release() before wctdm_back_out_gracefully()

voicebus_release is already called as part of the wctdm_back_out_gracefully()
call. If an Hx8 card fails to initialize, this will eliminate warnings from
the kernel such as:

  WARNING: at kernel/irq/manage.c:904 __free_irq+0x94/0x173()
  Trying to free already-free IRQ 18

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10377 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: BRI: fix timing priority calculation
Oron Peled [Wed, 7 Dec 2011 19:34:37 +0000 (19:34 +0000)]
xpp: BRI: fix timing priority calculation

Use similar caculation as in the PRI module:
* Save timing_priority from spanconfig and
  elect syncer when spanconfig is called.
* Create custom timing_priority() function that returns
  the value or error if span is disconnected.

Signed-off-by: Oron Peled <oron.peled@xorcom.com>
Acked-by: : Tzafrir Cohen <tzafrir.cohen@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10373 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: FXS: mwi and search_fsk fixes
Oron Peled [Wed, 7 Dec 2011 19:22:04 +0000 (19:22 +0000)]
xpp: FXS: mwi and search_fsk fixes

* We must not block PCM during from 'search_fsk_pattern' channels.
* We must vmwi_search() not only on FXS_LINE_POL_ACTIVE, but also during
  'neon_blinking' -- so we notice the message to turn it off.
* Also added 'search_fsk_pattern' and neon_blinking to /proc/.../fxs_info

Signed-off-by: Oron Peled <oron.peled@xorcom.com>
Acked-by: : Tzafrir Cohen <tzafrir.cohen@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10372 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agowct4xxp: Revise vpm struct due to product name changes
Russ Meyerriecks [Fri, 2 Dec 2011 22:48:44 +0000 (22:48 +0000)]
wct4xxp: Revise vpm struct due to product name changes

Renamed most of the "vpm450m" references to just "vpm".

Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com>
Acked-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10365 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agowct4xxp: Handle incorrect vpm module/card pairings
Russ Meyerriecks [Fri, 2 Dec 2011 22:48:39 +0000 (22:48 +0000)]
wct4xxp: Handle incorrect vpm module/card pairings

Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com>
Acked-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10364 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agodahdi: #include <linux/module.h> in dahdi/kernel.h and GpakCust.h
Shaun Ruffell [Fri, 2 Dec 2011 19:56:11 +0000 (19:56 +0000)]
dahdi: #include <linux/module.h> in dahdi/kernel.h and GpakCust.h

Commit de47725, first released in 3.2-rc1 removed module.h from some
kernel headers. Include it explicitly now.

Resolves compilation errors like:
error: implicit declaration of function 'try_module_get'
error: 'THIS_MODULE' undeclared (first use in this function)
error: implicit declaration of function 'module_put'

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10361 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agowctc4xxp: Replace 'ndo_set_multicast_list' with 'set_rx_mode'
Shaun Ruffell [Fri, 2 Dec 2011 19:56:07 +0000 (19:56 +0000)]
wctc4xxp: Replace 'ndo_set_multicast_list' with 'set_rx_mode'

The ndo_set_multicast_list callback was removed in b81693d9, which was
first released in Linux Kernel 3.2-rc1

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10360 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: PRI: restore pri_protocol to R/W:
Oron Peled [Tue, 29 Nov 2011 23:38:30 +0000 (23:38 +0000)]
xpp: PRI: restore pri_protocol to R/W:

Restores the pri_protocol attribute of the XPD node in SysFS to be
writable. Fixes a minor regression from the pinned-spans fix, similar to

* This attribute was made R/O in digium r10280 as part of the
  pinned-spans changes:
  - The E1/T1 settings were changed via new set_spantype() method
    which was called from dahdi when the 'spantype' dahdi attribute
    was written to.

  - This fails our init_card_4_* trying to write E1/T1 into our private

* Restored our old code (with minor modifications) so we
  can set E1/T1 the old way (writing to our 'pri_protocol' attribute)
  as well as the new way (when it will be used eventually).

Signed-off-by: Oron Peled <oron.peled@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10347 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: pri: fix RS1 init in E1 CAS mode
Oron Peled [Tue, 29 Nov 2011 23:37:33 +0000 (23:37 +0000)]
xpp: pri: fix RS1 init in E1 CAS mode

Force some reserved bits to really be 1 in E1 mode (otherwise
terrorists will win).

(Closes issue DAHLIN-264)

Signed-off-by: Oron Peled <oron.peled@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10346 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: fxs: demote SETPOLARITY message to DBG()
Oron Peled [Tue, 29 Nov 2011 23:36:17 +0000 (23:36 +0000)]
xpp: fxs: demote SETPOLARITY message to DBG()

Signed-off-by: Oron Peled <oron.peled@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10345 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: increase command queue length to 1500
Tzafrir Cohen [Wed, 16 Nov 2011 12:10:51 +0000 (12:10 +0000)]
xpp: increase command queue length to 1500

A length of 1000 commands is not enough is some cases with CAS.

Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10341 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: USB_FW rev 10085: fix regression from r10013
Tzafrir Cohen [Sun, 13 Nov 2011 15:04:16 +0000 (15:04 +0000)]
xpp: USB_FW rev 10085: fix regression from r10013

Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10339 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: PIC_TYPE_1 rev 9841: followup to r10013
Tzafrir Cohen [Sun, 13 Nov 2011 13:23:10 +0000 (13:23 +0000)]
xpp: PIC_TYPE_1 rev 9841: followup to r10013

An extra fix that was accidentally not included in r10013. Minor bug fixes.

Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10337 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: silence some bad ioctl() reporting
Oron Peled [Thu, 10 Nov 2011 16:56:54 +0000 (16:56 +0000)]
xpp: silence some bad ioctl() reporting

Ignore some FXS-specific ioctl-s in xpd_pri.

Signed-off-by: Oron Peled <oron.peled@xorcom.com>
Acked-by Tzafrir Cohen <tzafrir.cohen@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10335 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: restore backward compat dahdi_registration
Oron Peled [Thu, 10 Nov 2011 16:56:29 +0000 (16:56 +0000)]
xpp: restore backward compat dahdi_registration

This restores a somewhat limited functionality of the "span"
write interface in the SysFS node of the span, broken by the
pinned-spans code.

* PROBLEM: dahdi-linux pinned-spans should work with existing dahdi-tools
  specifically the dahdi_registration tool.

* As a result, we should still be able to control dahdi registration
  order. However, registration is now in complete devices and not spans

* Restored dahdi_autoreg=[0/1] xpp module parameter:
  - It now refers to complete astribanks and not individual spans

* The xpp module sysfs "span" attribute:
  - Implemented write method (for dahdi_registration tool)
  - The first write of [1/0] to this attribute, registers/unregisters
    the complete astribank
  - Further writes are ignored (with DBG messages)

* Also, implemented new xbus_is_registered() function

* Once the new dahdi-tools are merged, we should turn deprecation
  messages from DBG() to NOTICE()

Signed-off-by: Oron Peled <oron.peled@xorcom.com>
Acked-by Tzafrir Cohen <tzafrir.cohen@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10334 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agowctdm24xxp: Wait for background threads to complete on failed load.
Shaun Ruffell [Mon, 7 Nov 2011 22:40:20 +0000 (22:40 +0000)]
wctdm24xxp: Wait for background threads to complete on failed load.

Some of the VPM loading / probing threads use global system workqueues. They
might now be running when we abort early so we should wait for them to
complete their runs before freeing memory that may be in use.

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10332 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agodahdi: Unregister dahdi_device from sysfs if we fail to auto assign spans.
Shaun Ruffell [Mon, 7 Nov 2011 22:40:15 +0000 (22:40 +0000)]
dahdi: Unregister dahdi_device from sysfs if we fail to auto assign spans.

Otherwise, if the _dahdi_assign_span call fails, the dahdi_device will never
be removed from the dahdi_devices virtual bus and the board drivers will not
be reloadable.

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10331 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agodahdi: Fix typo in previous commit which forced some spans to always fail assignment.
Shaun Ruffell [Mon, 7 Nov 2011 22:40:11 +0000 (22:40 +0000)]
dahdi: Fix typo in previous commit which forced some spans to always fail assignment.

I misssed a small typo in r10328 "Extra debugging aids and messages" that
would force any span that supports a hardware preechocan to always fail
assignment with -EFAULT.

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10330 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoExtra debugging aids and messages
Oron Peled [Mon, 7 Nov 2011 17:48:00 +0000 (17:48 +0000)]
Extra debugging aids and messages

* Added dahdi_dev_dbg() macro to print when we don't (yet)
  have a span number.
* Added a new debug category: DAHDI_DBG_ASSIGN
* Made sure error return code paths prints helpfull messages
* Promote error messages from INFO to NOTICE
* Change some errno values from EINVAL to EFAULT (internal
  errors not caused by user input)

Signed-off-by: Oron Peled <oron.peled@xorcom.com>
Acked-by Tzafrir Cohen <tzafrir.cohen@xorcom.com>
Acked-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10328 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agobugfix: off-by-one in span assignment
Tzafrir Cohen [Mon, 7 Nov 2011 17:33:25 +0000 (17:33 +0000)]
bugfix: off-by-one in span assignment

The test in _check_spanno_and_basechan() was off by one
(used '<' instead of '<=')

Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>
Acked-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10327 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: USB firmware r9964: minor bugfixes
Tzafrir Cohen [Mon, 7 Nov 2011 15:27:37 +0000 (15:27 +0000)]
xpp: USB firmware r9964: minor bugfixes

USB_FW rev 9964: includes a few stability bugfixes.

Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10323 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agowct4xxp: minor: Removed unnecessary instrumentation branched-2.6.0-rc1
Russ Meyerriecks [Wed, 2 Nov 2011 21:46:07 +0000 (21:46 +0000)]
wct4xxp: minor: Removed unnecessary instrumentation

Removed a couple prints of instrumentation that was cluttering up the log output.

Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com>
Acked-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10310 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agodahdi: First span registered becomes master by default.
Shaun Ruffell [Wed, 2 Nov 2011 19:46:18 +0000 (19:46 +0000)]
dahdi: First span registered becomes master by default.

r10205 "dahdi: Check for master in DAHDI_STARTUP / resolves MeetMe
regression." did not handle the case for the wcb4xxp driver since it
would set DAHDI_FLAG_RUNNING as part of the probe. Therefore, the
DAHDI_STARTUP ioctl was never processed for it, creating a situation
where audio is missing on channels that are conferenced with channels on
the BRI spans.

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10304 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agodahdi: Define POLLRDHUP on kernels < 2.6.17
Shaun Ruffell [Wed, 2 Nov 2011 18:59:03 +0000 (18:59 +0000)]
dahdi: Define POLLRDHUP on kernels < 2.6.17

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10303 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: bugfix: clear NOTOPEN span alarm on assign
Tzafrir Cohen [Wed, 2 Nov 2011 17:05:38 +0000 (17:05 +0000)]
xpp: bugfix: clear NOTOPEN span alarm on assign

The NOTOPEN span alarm flag is set at span unassignment time.

* It needs to be cleared when the span is reassigned.
* That is: only if the span is actually connected.

Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10302 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: bugfix -- manage xpd refcount for EC module
Tzafrir Cohen [Wed, 2 Nov 2011 14:19:14 +0000 (14:19 +0000)]
xpp: bugfix -- manage xpd refcount for EC module

Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10301 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: Adaptations for E-Main-3
Tzafrir Cohen [Wed, 2 Nov 2011 14:08:12 +0000 (14:08 +0000)]
xpp: Adaptations for E-Main-3

 * An xbus transport now have a "model_string" member
 * The xpp_usb driver fills this with "usb:<idVendor>/<idProduct>/<bcdDevice>"
 * It is passed via environment to the "init_card_<type>_<protocol>" scripts
 * The FXS script uses this to condition two registers according to
   the power supply model.

Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10300 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: remove leftovers of old XPD_STATE method
Tzafrir Cohen [Wed, 2 Nov 2011 14:07:43 +0000 (14:07 +0000)]
xpp: remove leftovers of old XPD_STATE method

Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10299 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agowctdm24xxp, wcte12xp: Allow VPMADT032 commands more time to complete.
Shaun Ruffell [Tue, 1 Nov 2011 20:35:20 +0000 (20:35 +0000)]
wctdm24xxp, wcte12xp: Allow VPMADT032 commands more time to complete.

Since "wctdm24xxp: Probe for and configure modules in parallel." the
check for the VPMADT032 module was moved closer to after when the
interface was initialized. The 200ms timeout did not provide enough
time for the system to settle out after initial start. The result
was that sometimes after a cold boot the driver would fail to detect
any VPMADT032 modules.

This fixes a race condition that is not in any released branches.

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10296 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agowctdm24xxp, wcte12xp: Update VPMOCT032 firmware to 1.12.0.
Doug Bailey [Tue, 1 Nov 2011 20:35:15 +0000 (20:35 +0000)]
wctdm24xxp, wcte12xp: Update VPMOCT032 firmware to 1.12.0.

- Cleaned up the OCT6114 interface .
- Relaxed the timeout waiting for OCT6114 bus cycle completion to 100 mS
  and added a 2 mS delay time from OCT6114 reset to initialization.

This change only addresses issues that were created in the lab and not in the

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10295 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agowct4xxp: Expose serial number in dahdi_device and kernel log.
Russ Meyerriecks [Tue, 1 Nov 2011 15:27:32 +0000 (15:27 +0000)]
wct4xxp: Expose serial number in dahdi_device and kernel log.

This will allow the serial number to be exposed in sysfs and also
allow span assignment rules to use the serial number.

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10292 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agowct4xxp: Add field upgradable firmware support for TE820.
Russ Meyerriecks [Tue, 1 Nov 2011 15:27:27 +0000 (15:27 +0000)]
wct4xxp: Add field upgradable firmware support for TE820.

This commit adds field upgradeable support for the TE820 firmware.
Firmware can now be silently upgraded as part of updating drivers
like most of the existing DAHDI firmware. Previous versions of dual
and quad span cards did not support upgrading firmware in the field.

Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com>
Fixed up some checkpatch issues:
Signed-off-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10291 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agowct4xxp: Add support for TE820 and VPMOCT256.
Matthew Fredrickson [Tue, 1 Nov 2011 15:27:21 +0000 (15:27 +0000)]
wct4xxp: Add support for TE820 and VPMOCT256.

TE820 is an 8-span PCI-express digital interface card. VPMOCT256 is a hardware
echo canceler that is able to provide echo cancelation on all 8-spans.

From: Matthew Fredrickson <creslin@digium.com>

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10290 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoREADME: Minor additions regarding pinned-spans
Tzafrir Cohen [Thu, 27 Oct 2011 19:59:26 +0000 (19:59 +0000)]
README: Minor additions regarding pinned-spans

Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10289 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoREADME: initial update for span assignments
Tzafrir Cohen [Thu, 27 Oct 2011 00:35:47 +0000 (00:35 +0000)]
README: initial update for span assignments

Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10288 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: cleanup some printk()'s
Oron Peled [Wed, 26 Oct 2011 19:09:09 +0000 (19:09 +0000)]
xpp: cleanup some printk()'s

 * Also demote them to DBG()

Signed-off-by: Oron Peled <oron.peled@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10287 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoadded 'basechan' and 'channels' attributes to spans
Oron Peled [Wed, 26 Oct 2011 19:08:33 +0000 (19:08 +0000)]
added 'basechan' and 'channels' attributes to spans

 * So we can:
   - Generate 'pinned-spans.conf' from existing state
   - Run dahdi_cfg from udev (on specific span + its channels)

Signed-off-by: Oron Peled <oron.peled@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10286 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agodahdi: Give userspace a chance to respond to surprise removal.
Oron Peled [Wed, 26 Oct 2011 19:07:59 +0000 (19:07 +0000)]
dahdi: Give userspace a chance to respond to surprise removal.

 * We try very hard to help asterisk understand that we unassign spans.

 * Implement disable_span():
   - Set span + channels to DAHDI_ALARM_NOTOPEN

 * Use disable_span():
   - in dahdi_unassign_span() and dahdi_unregister_device()
   - with long msleep() so asterisk has a chance to get the message
   - Out of the registration_mutex so we actually context switch.

 * Also return more POLLERR variants (POLLRDHUP is not portable,
   should be tested).

 * Also improve printk(), fix rate_limit increment (was missing)

Signed-off-by: Oron Peled <oron.peled@xorcom.com>
Signed-off-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10285 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: Remove dahdi_autoreg parameter:
Oron Peled [Wed, 26 Oct 2011 19:07:21 +0000 (19:07 +0000)]
xpp: Remove dahdi_autoreg parameter:

 * With pinned-spans all spans are registered to dahdi with the
   device (and assigned later)
 * So this parameter cannot function anymore
 * Also remove the (now) empty xpd_post_init() function.

Signed-off-by: Oron Peled <oron.peled@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10284 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: more informative span description:
Oron Peled [Wed, 26 Oct 2011 19:06:57 +0000 (19:06 +0000)]
xpp: more informative span description:

 * Contains the hardware_id and the local span number

Signed-off-by: Oron Peled <oron.peled@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10283 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: make unregistration safer (idempotent)
Oron Peled [Wed, 26 Oct 2011 19:06:32 +0000 (19:06 +0000)]
xpp: make unregistration safer (idempotent)

 * Otherwise, a failed unit initialization (e.g: when init_card_?_?? fails)
   causes a panic

Signed-off-by: Oron Peled <oron.peled@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10282 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: adapt to 'location' attribute removal:
Oron Peled [Wed, 26 Oct 2011 19:06:11 +0000 (19:06 +0000)]
xpp: adapt to 'location' attribute removal:

 * Reparent astribanks below their USB transport
 * This way their location can be derived from their hardware
 * The tradeoff is that once USB hardware is disconnected, there
   is no sysfs visibility of the astribank object even if it
   cannot be release yet due to open channels by asterisk
 * Thus, we'll need to migrate to "surprise removal" of dahdi

Signed-off-by: Oron Peled <oron.peled@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10281 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agoxpp: PRI: use DAHDI new set_spantype() method
Oron Peled [Wed, 26 Oct 2011 19:05:49 +0000 (19:05 +0000)]
xpp: PRI: use DAHDI new set_spantype() method

 * Implement pri_set_spantype() method
 * Refactor code from PRI_card_dahdi_preregistration() into
   a new apply_pri_protocol().
   - It is now called from both PRI_card_dahdi_preregistration()
     and set_pri_proto()
   - It now also sets span name + description
 * Remove old pri_protocol_store() method (pri_protocol is now RO)
 * Added pri_protocol_bystr() method (maybe promote it to DAHDI?)

Signed-off-by: Oron Peled <oron.peled@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10280 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agowct4xxp: Allow linemode (T1/E1/J1) to be changed via sysfs attribute.
Shaun Ruffell [Wed, 26 Oct 2011 19:05:24 +0000 (19:05 +0000)]
wct4xxp: Allow linemode (T1/E1/J1) to be changed via sysfs attribute.

Allowing the linemode to be configured with sysfs before the spans are
assigned opens the eventualy capability for line mode to be configured
with the other physical layer settings per card.  Currently linemode is
set with either physical jumpers or with a module parameter to the
wct4xxp driver that is global for all cards.

Default behavior is not changed with this commit.

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10279 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agowcte12xp: Allow linemode (T1/E1) to be changed via sysfs attribute.
Shaun Ruffell [Wed, 26 Oct 2011 19:04:04 +0000 (19:04 +0000)]
wcte12xp: Allow linemode (T1/E1) to be changed via sysfs attribute.

Allowing the linemode to be configured with sysfs before the spans are
assigned opens the eventualy capability for line mode to be configured
with the other physical layer settings per card.  Currently linemode is
set with either physical jumpers or with a module parameter to the
wcte12xp driver that is global for all cards.

Default behavior is not changed with this commit.

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10278 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agodahdi: Allow 'spantype' to be changed before span assignement via sysfs.
Shaun Ruffell [Wed, 26 Oct 2011 19:01:19 +0000 (19:01 +0000)]
dahdi: Allow 'spantype' to be changed before span assignement via sysfs.

For some boards, the linemode (E1/T1/J1) is software selectable but
needs to be configured before the spans were historically registered
since the line mode determines the channel count available on the span.

This change exports a "spantype" attribute from the dahdi_device that
can be used to set E1/T1/J1 before the spans are assigned. When
userspace writes to this attribute (in a <span offset>:<span type
string> format), and if the board driver has implemented a set_spantype
function in it's dahdi_span_ops, then the board driver can optionally
change it's mode before registration.

Also part of this change is breaking out the raw data structure
initialization of the spans / channels via the dahdi_init_device_spans
function since the board drivers may need to reallocate channels / spans
as part of this callback. For example, changing from T1 to E1 mode will
require allocating 7 new channels.

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10277 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agodahdi: Remove dahdi_span.irq and move dahdi_span.irqmisses into dahdi_device.
Shaun Ruffell [Wed, 26 Oct 2011 19:00:28 +0000 (19:00 +0000)]
dahdi: Remove dahdi_span.irq and move dahdi_span.irqmisses into dahdi_device.

'irqmisses' is more a function of the device and there are better ways
to get to IRQ for a device than storing it in any DAHDI structures.

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10276 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agodahdi: Expose dahdi devices in sysfs.
Shaun Ruffell [Wed, 26 Oct 2011 18:59:20 +0000 (18:59 +0000)]
dahdi: Expose dahdi devices in sysfs.

This exposes dahdi devices in sysfs and also exposes attributes that
will allow user space to control the registration order in spans. This
facilitates loading drivers out of order yet keeping consistent
span/channel numbering, which in turn will eventually allow the
blacklist for DAHDI drivers to be removed. The default behavior,
controlled with the auto_register module parameter on dahdi is to number
the spans / channels in order like is currently done. So this change
does not introduce any new behavior by default.

 * Writing (anything) to this attribute returns the span to its
   unassigned state
 * Fix dahdi_chan_unreg() echocan refcount
 * Add safeguard against duplicate unassignment to _dahdi_unregister_span()
 * Remove the span from device_node list, only in dahdi_unregister_device()
   and not in dahdi_unregister_span()
 * Free allocated span->span_device in span_sysfs_remove()
   [is it safe?, didn't cause problem so far...]

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Signed-off-by: Oron Peled <oron.peled@xorcom.com>
Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

dahdi: Add "hardware_id" dahdi_device attribute.

- The "hardware_id" does not change with device location (e.g: when a PCI
  card is moved from one slot to another).
- Not all devices have this attribute. It is legal for it to be NULL (that
  is the default for all low-level drivers that do not set it explicitly).
- When "hardware_id" is NULL, the sysfs attribute value is "\n"

Signed-off-by: Oron Peled <oron.peled@xorcom.com>
Acked-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10275 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agodahdi: Expose spans in sysfs.
Oron Peled [Wed, 26 Oct 2011 18:58:50 +0000 (18:58 +0000)]
dahdi: Expose spans in sysfs.

This change will facilitate creating rules that will allow spans and channels
to be accessed by named device files instead of by numbers.

Signed-off-by: Oron Peled <oron.peled@xorcom.com>
Signed-off-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10274 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agodahdi: Register devices instead of individual spans.
Shaun Ruffell [Wed, 26 Oct 2011 18:58:14 +0000 (18:58 +0000)]
dahdi: Register devices instead of individual spans.

Increasingly, spans are implemented by devices that support more than a
single span. Introduce a 'struct dahdi_device' object which explicitly
contains multiple spans. This will allow a cleaner representation of
spans and devices in sysfs since order of arrival will not determine the
layout of the devices. This also gives the core of dahdi a way to know
the relationship between spans.

This generalizes similar concepts that were previously xpp specific. The
conversion of the xpp code was almost entirely done by Oron and Tzafrir.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Signed-off-by: Oron Peled <oron.peled@xorcom.com>
Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10273 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agodahdi: dahdi_is_analog_span() -> dahdi_is_digital_span()
Oron Peled [Wed, 26 Oct 2011 18:57:31 +0000 (18:57 +0000)]
dahdi: dahdi_is_analog_span() -> dahdi_is_digital_span()

 * dahdi-base.c had a reverse is_analog_span() static function -- fixed.

Signed-off-by: Oron Peled <oron.peled@xorcom.com>
Acked-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10272 a0bf4364-ded3-4de4-8d8a-66a801d63aff

7 years agodahdi: Add error messages in dahdi_ioctl_chanconfig.
Tzafrir Cohen [Wed, 26 Oct 2011 18:57:07 +0000 (18:57 +0000)]
dahdi: Add error messages in dahdi_ioctl_chanconfig.

Provide more context to trouble shoot failures.

Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>
Acked-by: Shaun Ruffell <sruffell@digium.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10271 a0bf4364-ded3-4de4-8d8a-66a801d63aff