13 Commits

Author SHA1 Message Date
Shaun Ruffell
af9a9751fa 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>

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

Conflicts:

	include/dahdi/kernel.h

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@10530 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2012-03-16 17:07:51 +00:00
Shaun Ruffell
06fdf8a772 dahdi: Define HAVE_NET_DEVICE_OPS on kernels > 2.6.29
HAVE_NET_DEVICE_OPS was defined in the mainline kernel in commit
47fd5b83 which was first released in 2.6.29. Any kernels after that will
have those fields defined.

Mainline commit e2270ea62ae4d7a removed the feature test macros, so
the easiest thing to do is define HAVE_NET_DEVICE_OPS ourselves on the
kernels since it was committed.

This change is needed to compile against the 3.1 kernel.

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

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@10114 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-08-11 19:54:52 +00:00
Shaun Ruffell
de59662acb Move test for DEFINE_SPINLOCK into include/dahdi/kernel.h
The check for DEFINE_SPINLOCK was spread throughout the source tree. If
not defined we can just define it in inlucde/dahdi/kernel.h.  Now
include/dahdi/kernel.h is the only place that references
SPIN_LOCK_UNLOCKED (which breaks lockdep checking if DEFINE_SPINLOCK is
otherwise defined in the kernel).

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>
Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com>
Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>
Review: https://reviewboard.asterisk.org/r/940/

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9924 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-05-27 16:48:46 +00:00
Tzafrir Cohen
75b7b53f10 dahdi: Do not define dev_name if already backported.
RHEL 5.6 has backported dev_name in include/dahdi/devices.h.  We now need to
check for a back ported definition before defining our own version on pre
2.6.26 kernels.

(closes issue #18992)
Reported by: ndupeux, AlexCeli
Tested by: elguero

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

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9895 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-04-11 18:45:05 +00:00
Shaun Ruffell
1fdb766204 dahdi: Add '#include <linux/kobject.h>' in dahdi/kernel.h
linux/kobject.h was removed from linux/fs.h in upstream commit 57cc721.
Add it back in in order to pick up the linux/kref.h include.

Reported-by: Raoul Bönisch <jkl345@alice-dsl.net>
Signed-off-by: Shaun Ruffell <sruffell@digium.com>

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9746 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-02-09 18:30:42 +00:00
Shaun Ruffell
bb3f3c6414 "struct pci_device_id[]" -> "DEFINE_PCI_DEVICE_TABLE"
2.6.25 added the DEFINE_PCI_DEVICE_TABLE macro to make sure that the
pci_device_id tables are put into the correct section in the binary.
Convert all the places where the tables were defined to use them.

This is linux-2.6 commit where the change went in along with the
rationale:  90a1ba0c5e39eeea278f263c28ae02166c5911c8

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9691 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:32:45 +00:00
Shaun Ruffell
d28f297d51 dahdi: If mutexes are not available use semaphores instead.
Mutexes were added in 2.6.16.  This will allow future changes to use the
mutex API without breaking on pre 2.6.16 kernels.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9690 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:32:31 +00:00
Shaun Ruffell
a209d1b433 wcte12xp: Use interruptible waits to decrease impact on load average.
The wcte12xp does all the checking for alarm in a user space workqueue.
Most of this time is spent sleeping waiting for reads from the framer to
complete.  Tasks in uninterruptible sleeps are added to running tasks
for the purposes of calculating load average. This change makes the
sleeps interruptible so as to not affect the load average as much.

For example, the following command will load and configure the driver and
then print the load average every 10 seconds.

]# modprobe wcte12xp && dahdi_cfg && ((x=12)); while [[ $x -gt 0 ]]; do cat
/proc/loadavg; sleep 10; let x=$x-1; done

With this change:
0.29 0.10 0.02 1/101 29945
0.24 0.10 0.02 1/101 29967
0.20 0.09 0.02 1/101 30019
0.17 0.09 0.02 1/101 30041
0.15 0.09 0.02 1/101 30062
0.12 0.08 0.02 1/101 30085
0.10 0.08 0.02 1/101 30107
0.09 0.08 0.02 1/101 30129
0.07 0.08 0.02 1/101 30151
0.14 0.09 0.02 1/101 30173
0.12 0.09 0.02 1/101 30195
0.10 0.08 0.02 1/101 30217
(and I've seen it get down to 0.0)

Before this change:
0.57 0.22 0.07 1/101 31920
0.48 0.21 0.07 1/101 31942
0.48 0.22 0.07 1/101 31964
0.48 0.23 0.08 1/101 31986
0.41 0.22 0.07 1/101 32008
0.42 0.23 0.08 1/101 32030
0.43 0.24 0.08 1/101 32054
0.45 0.25 0.09 1/101 32076
0.45 0.25 0.09 1/101 32098
0.46 0.26 0.10 1/101 32120
0.47 0.27 0.10 1/101 32172
0.39 0.26 0.10 1/101 32194

(closes issue #18142)
Reported by: foxfire
Tested by: foxfire

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

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9683 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:31:35 +00:00
Shaun Ruffell
26fdcdb51a Remove mutex emulation
Using semaphores as mutexes was removed from the kernel in 4882720b267b.
Just use straight semaphores now.  'DECLARE_MUTEX()' -> 'DEFINE_SEMAPHORE()'
and 'init_MUTEX()' -> 'sema_init()'.

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

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9676 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:30:39 +00:00
Shaun Ruffell
e38cbd0869 dahdi: Make CONFIG_DAHDI_PPP off by default.
Before CONFIG_DAHDI_PPP can be on by default, some more work needs to be
done to ensure that the ppp_generic module is not always loaded and
that all channels do not carry around all the PPP members unnecessarily.

(issue #17990)

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kevin P. Fleming <kpfleming@digium.com>

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9670 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:29:40 +00:00
Shaun Ruffell
cfd46b51a2 dahdi: Fix for when PPP support is compiled as a kernel module.
When compiling dahdi-linux I expect ppp support to be compiled in even if the
kernel config has PPP configured as a module.

(closes issue #17990)
Reported by: jkroon
Patches:
      dahdi-config-ppp.diff uploaded by jkroon (license 714)

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9669 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:29:32 +00:00
Kinsey Moore
102d709038 dahdi: Anonymous member in dahdi_echocan_events union.
Make explicit what part of the union is being accessed.

(closes issue #15908)
Reported by: ys
Patches:
      dahdi-dahdi_echocan_events.diff uploaded by ys (license 281)

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

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9665 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:28:59 +00:00
Shaun Ruffell
bf3fe05dfb wct4xxp: Moving the transmit short detection behind debug module param.
This needs some more testing before it's on by default.  If the card is
otherwise functioning, these messages may be confusing to the user.  If
the card is not functioning, the driver can be reloaded with debug to
check for this condition.

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

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9205 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-08-27 21:59:27 +00:00