summaryrefslogtreecommitdiff
path: root/drivers/dahdi
diff options
context:
space:
mode:
authorKevin P. Fleming <kpfleming@digium.com>2008-07-29 22:03:52 +0000
committerKevin P. Fleming <kpfleming@digium.com>2008-07-29 22:03:52 +0000
commit75d1b0f6c0e3b4898b3751449a379f0f8baf9619 (patch)
treeee976a3e44c7473a002dc8d559e75c417602ce51 /drivers/dahdi
parenta395b3b6e59ce139dafdb347e4de1f558749b223 (diff)
make an initial split of dahdi/kernel.h into userspace- and kernelspace-specific parts
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@4628 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi')
-rw-r--r--drivers/dahdi/dahdi-base.c7
-rw-r--r--drivers/dahdi/dahdi_dummy.c1
-rw-r--r--drivers/dahdi/dahdi_dynamic.c15
-rw-r--r--drivers/dahdi/dahdi_dynamic_eth.c1
-rw-r--r--drivers/dahdi/dahdi_dynamic_loc.c1
-rw-r--r--drivers/dahdi/dahdi_transcode.c1
-rw-r--r--drivers/dahdi/fasthdlc.h462
-rw-r--r--drivers/dahdi/pciradio.c1
-rw-r--r--drivers/dahdi/tor2.c1
-rw-r--r--drivers/dahdi/wcfxo.c1
-rw-r--r--drivers/dahdi/wct1xxp.c1
-rw-r--r--drivers/dahdi/wct4xxp/base.c1
-rw-r--r--drivers/dahdi/wct4xxp/wct4xxp-diag.c1
-rw-r--r--drivers/dahdi/wctc4xxp/base.c1
-rw-r--r--drivers/dahdi/wctc4xxp/codec_test.c1
-rw-r--r--drivers/dahdi/wctdm.c1
-rw-r--r--drivers/dahdi/wctdm24xxp/GpakApi.c1
-rw-r--r--drivers/dahdi/wctdm24xxp/GpakCust.c1
-rw-r--r--drivers/dahdi/wctdm24xxp/base.c1
-rw-r--r--drivers/dahdi/wctdm24xxp/wctdm24xxp.h1
-rw-r--r--drivers/dahdi/wcte11xp.c1
-rw-r--r--drivers/dahdi/wcte12xp/GpakApi.c1
-rw-r--r--drivers/dahdi/wcte12xp/base.c1
-rw-r--r--drivers/dahdi/wcte12xp/vpmadt032.c1
24 files changed, 9 insertions, 496 deletions
diff --git a/drivers/dahdi/dahdi-base.c b/drivers/dahdi/dahdi-base.c
index 5f9de80..f2a1482 100644
--- a/drivers/dahdi/dahdi-base.c
+++ b/drivers/dahdi/dahdi-base.c
@@ -78,13 +78,10 @@
/* #define BUF_MUNGE */
+#include <dahdi/version.h>
/* Grab fasthdlc with tables */
#define FAST_HDLC_NEED_TABLES
-#include "fasthdlc.h"
-
-#include <dahdi/version.h>
#include <dahdi/kernel.h>
-#include <dahdi/user.h>
#include "hpec/hpec_user.h"
@@ -4751,7 +4748,7 @@ static int dahdi_chan_ioctl(struct inode *inode, struct file *file, unsigned int
return -ENOSYS;
switch(cmd) {
- case DAHDI_SIGFREEZE:
+ case DAHDI_SETSIGFREEZE:
get_user(j, (int *)data);
spin_lock_irqsave(&chan->lock, flags);
if (j) {
diff --git a/drivers/dahdi/dahdi_dummy.c b/drivers/dahdi/dahdi_dummy.c
index 8b094b9..2e19959 100644
--- a/drivers/dahdi/dahdi_dummy.c
+++ b/drivers/dahdi/dahdi_dummy.c
@@ -77,7 +77,6 @@
#include <linux/moduleparam.h>
#include <dahdi/kernel.h>
-#include <dahdi/user.h>
#ifdef USE_HIGHRESTIMER
#include <linux/hrtimer.h>
diff --git a/drivers/dahdi/dahdi_dynamic.c b/drivers/dahdi/dahdi_dynamic.c
index c0b50b1..44d43ec 100644
--- a/drivers/dahdi/dahdi_dynamic.c
+++ b/drivers/dahdi/dahdi_dynamic.c
@@ -36,7 +36,6 @@
#include <linux/moduleparam.h>
#include <dahdi/kernel.h>
-#include <dahdi/user.h>
/*
* Tasklets provide better system interactive response at the cost of the
@@ -434,7 +433,7 @@ static void dynamic_destroy(struct dahdi_dynamic *z)
checkmaster();
}
-static struct dahdi_dynamic *find_dynamic(DAHDI_DYNAMIC_SPAN *zds)
+static struct dahdi_dynamic *find_dynamic(struct dahdi_dynamic_span *zds)
{
struct dahdi_dynamic *z;
z = dspans;
@@ -460,7 +459,7 @@ static struct dahdi_dynamic_driver *find_driver(char *name)
return ztd;
}
-static int destroy_dynamic(DAHDI_DYNAMIC_SPAN *zds)
+static int destroy_dynamic(struct dahdi_dynamic_span *zds)
{
unsigned long flags;
struct dahdi_dynamic *z, *cur, *prev=NULL;
@@ -534,7 +533,7 @@ static int ztd_close(struct dahdi_chan *chan)
return 0;
}
-static int create_dynamic(DAHDI_DYNAMIC_SPAN *zds)
+static int create_dynamic(struct dahdi_dynamic_span *zds)
{
struct dahdi_dynamic *z;
struct dahdi_dynamic_driver *ztd;
@@ -687,7 +686,7 @@ static void ztd_tasklet(unsigned long data)
static int ztdynamic_ioctl(unsigned int cmd, unsigned long data)
{
- DAHDI_DYNAMIC_SPAN zds;
+ struct dahdi_dynamic_span zds;
int res;
switch(cmd) {
case 0:
@@ -698,7 +697,7 @@ static int ztdynamic_ioctl(unsigned int cmd, unsigned long data)
ztdynamic_run();
return 0;
case DAHDI_DYNAMIC_CREATE:
- if (copy_from_user(&zds, (DAHDI_DYNAMIC_SPAN *)data, sizeof(zds)))
+ if (copy_from_user(&zds, (struct dahdi_dynamic_span *)data, sizeof(zds)))
return -EFAULT;
if (debug)
printk("Dynamic Create\n");
@@ -707,11 +706,11 @@ static int ztdynamic_ioctl(unsigned int cmd, unsigned long data)
return res;
zds.spanno = res;
/* Let them know the new span number */
- if (copy_to_user((DAHDI_DYNAMIC_SPAN *)data, &zds, sizeof(zds)))
+ if (copy_to_user((struct dahdi_dynamic_span *)data, &zds, sizeof(zds)))
return -EFAULT;
return 0;
case DAHDI_DYNAMIC_DESTROY:
- if (copy_from_user(&zds, (DAHDI_DYNAMIC_SPAN *)data, sizeof(zds)))
+ if (copy_from_user(&zds, (struct dahdi_dynamic_span *)data, sizeof(zds)))
return -EFAULT;
if (debug)
printk("Dynamic Destroy\n");
diff --git a/drivers/dahdi/dahdi_dynamic_eth.c b/drivers/dahdi/dahdi_dynamic_eth.c
index e36522b..330e210 100644
--- a/drivers/dahdi/dahdi_dynamic_eth.c
+++ b/drivers/dahdi/dahdi_dynamic_eth.c
@@ -34,7 +34,6 @@
#include <linux/notifier.h>
#include <dahdi/kernel.h>
-#include <dahdi/user.h>
#define ETH_P_DAHDI_DETH 0xd00d
diff --git a/drivers/dahdi/dahdi_dynamic_loc.c b/drivers/dahdi/dahdi_dynamic_loc.c
index 6d6262b..4b74f66 100644
--- a/drivers/dahdi/dahdi_dynamic_loc.c
+++ b/drivers/dahdi/dahdi_dynamic_loc.c
@@ -58,7 +58,6 @@
#include <linux/notifier.h>
#include <dahdi/kernel.h>
-#include <dahdi/user.h>
#ifdef DEFINE_SPINLOCK
static DEFINE_SPINLOCK(zlock);
diff --git a/drivers/dahdi/dahdi_transcode.c b/drivers/dahdi/dahdi_transcode.c
index 31352ef..2d50138 100644
--- a/drivers/dahdi/dahdi_transcode.c
+++ b/drivers/dahdi/dahdi_transcode.c
@@ -39,7 +39,6 @@
#include <asm/io.h>
#include <dahdi/kernel.h>
-#include <dahdi/user.h>
static int debug = 0;
static struct dahdi_transcoder *trans;
diff --git a/drivers/dahdi/fasthdlc.h b/drivers/dahdi/fasthdlc.h
deleted file mode 100644
index 4928ce5..0000000
--- a/drivers/dahdi/fasthdlc.h
+++ /dev/null
@@ -1,462 +0,0 @@
-/*
- * Mark's Mythical Table-based raw HDLC implementation
- *
- * This is designed to be a very fast, but memory efficient
- * implementation of standard HDLC protocol.
- *
- * This table based HDLC technology is PATENT PENDING, but will always be
- * remain freely distributable under the terms of the GPL version 2.0.
- *
- * For non-GPL licensing, please contact Mark Spencer at
- * the below e-mail address.
- *
- * Copyright (C) 2001-2008, Digium, Inc.
- *
- * Written by Mark Spencer <markster@linux-support.net>
- *
- * Distributed under the terms of the GNU General Public License
- * Version 2.0.
- *
- */
-
-#ifndef _FASTHDLC_H
-#define _FASTHDLC_H
-
-struct fasthdlc_state {
- int state; /* What state we are in */
- unsigned int data; /* Our current data queue */
- int bits; /* Number of bits in our data queue */
- int ones; /* Number of ones */
-};
-
-#ifdef FAST_HDLC_NEED_TABLES
-#define RETURN_COMPLETE_FLAG (0x1000)
-#define RETURN_DISCARD_FLAG (0x2000)
-#define RETURN_EMPTY_FLAG (0x4000)
-
-/* Unlike most HDLC implementations, we define only two states,
- when we are in a valid frame, and when we are searching for
- a frame header */
-
-#define FRAME_SEARCH 0
-#define PROCESS_FRAME 1
-
-/*
-
- HDLC Search State table -- Look for a frame header. The return value
- of this table is as follows:
-
- |---8---|---7---|---6---|---5---|---4---|---3---|---2---|---1---|
- | Z E R O E S | Next | Bits Consumed |
- |-------|-------|-------|-------|-------|-------|-------|-------|
-
- The indexes for this table are the state (0 or 1) and the next 8
- bits of the stream.
-
- Note that this table is only used for state 0 and 1.
-
- The user should discard the top "bits consumed" bits of data before
- the next call. "Next state" represents the actual next state for
- decoding.
-
-*/
-static unsigned char hdlc_search[256];
-
-/*
- HDLC Data Table
-
- The indexes to this table are the number of one's we've seen so far (0-5) and
- the next 10 bits of input (which is enough to guarantee us that we
- will retrieve at least one byte of data (or frame or whatever).
-
- The format for the return value is:
-
- Bits 15: Status (1=Valid Data, 0=Control Frame (see bits 7-0 for type))
- Bits 14-12: Number of ones in a row, so far
- Bits 11-8: The number of bits consumed (0-10)
- Bits 7-0: The return data (if appropriate)
-
- The next state is simply bit #15
-
-*/
-
-#define CONTROL_COMPLETE 1
-#define CONTROL_ABORT 2
-
-#define STATUS_MASK (1 << 15)
-#define STATUS_VALID (1 << 15)
-#define STATUS_CONTROL (0 << 15)
-#define STATE_MASK (1 << 15)
-#define ONES_MASK (7 << 12)
-#define DATA_MASK (0xff)
-
-static unsigned short hdlc_frame[6][1024];
-
-static unsigned int minbits[2] = { 8, 10 };
-
-/*
- Last, but not least, we have the encoder table. It takes
- as its indices the number of ones so far and a byte of data
- and returns an int composed of the following fields:
-
- Bots 31-22: Actual Data
- Bits 21-16: Unused
- Bits 15-8: Number of ones
- Bits 3-0: Number of bits of output (13-4) to use
-
- Of course we could optimize by reducing to two tables, but I don't
- really think it's worth the trouble at this point.
- */
-
-static unsigned int hdlc_encode[6][256];
-
-static inline char hdlc_search_precalc(unsigned char c)
-{
- int x, p=0;
- /* Look for a flag. If this isn't a flag,
- line us up for the next possible shot at
- a flag */
-
- /* If it's a flag, we go to state 1, and have
- consumed 8 bits */
- if (c == 0x7e)
- return 0x10 | 8;
-
- /* If it's an abort, we stay in the same state
- and have consumed 8 bits */
- if (c == 0x7f)
- return 0x00 | 8;
-
- /* If it's all 1's, we state in the same state and
- have consumed 8 bits */
- if (c == 0xff)
- return 0x00 | 8;
-
- /* If we get here, we must have at least one zero in us
- but we're not the flag. So, start at the end (LSB) and
- work our way to the top (MSB) looking for a zero. The
- position of that 0 is most optimistic start of a real
- frame header */
- x=1;
- p=7;
- while(p && (c & x)) {
- x <<= 1;
- p--;
- }
- return p;
-}
-
-#ifdef DEBUG_PRECALC
-static inline void hdlc_search_print(char c, char r)
-{
- int x=0x80;
- while(x) {
- printf("%s", c & x ? "1" : "0");
- x >>= 1;
- }
- printf(" => State %d, Consume %d\n", (r & 0x10) >> 4, r & 0xf);
-}
-#endif
-
-#define HFP(status, ones, bits, data) \
- ((status) | ((ones) << 12) | ((bits) << 8) | (data))
-
-static inline unsigned int hdlc_frame_precalc(unsigned char x, unsigned short c)
-{
- /* Assume we have seen 'x' one's so far, and have read the
- bottom 10 bytes of c (MSB first). Now, we HAVE to have
- a byte of data or a frame or something. We are assumed
- to be at the beginning of a byte of data or something */
- unsigned char ones = x;
- unsigned char data=0;
- int bits=0;
- int consumed=0;
- while(bits < 8) {
- data >>=1;
- consumed++;
- if (ones == 5) {
- /* We've seen five ones */
- if (c & 0x0200) {
- /* Another one -- Some sort of signal frame */
- if ((!(c & 0x0100)) && (bits == 6)) {
- /* This is a frame terminator (10) */
- return HFP(0,
- 0, 8, CONTROL_COMPLETE);
- } else {
- /* Yuck! It's something else...
- Abort this entire frame, and
- start looking for a good frame */
- return HFP(0,
- 0, consumed+1, CONTROL_ABORT);
- }
- } else {
- /* It's an inserted zero, just skip it */
- ones = 0;
- data <<= 1;
- }
- } else {
- /* Add it to our bit list, LSB to
- MSB */
- if (c & 0x0200) {
- data |= 0x80;
- ones++;
- } else
- ones=0;
- bits++;
- }
- c <<= 1;
- }
- /* Consume the extra 0 now rather than later. */
- if (ones == 5) {
- ones = 0;
- consumed++;
- }
- return HFP(STATUS_VALID, ones, consumed, data);
-}
-
-#ifdef DEBUG_PRECALC
-
-static inline void hdlc_frame_print(unsigned char x, unsigned short c, unsigned int res)
-{
- int z=0x0200;
- char *status[] = {
- "Control",
- "Valid",
- };
- printf("%d one's then ", x);
- while(z) {
- printf("%s", c & z ? "1" : "0");
- z >>= 1;
- }
- printf(" => Status %s, ", res & STATUS_MASK ? "1" : "0");
- printf("Consumed: %d, ", (res & 0x0f00) >> 8);
- printf("Status: %s, ", status[(res & STATUS_MASK) >> 15]);
- printf("Ones: %d, ", (res & ONES_MASK) >> 12);
- printf("Data: %02x\n", res & 0xff);
-
-}
-
-#endif
-
-static inline unsigned int hdlc_encode_precalc(int x, unsigned char y)
-{
- int bits=0;
- int ones=x;
- unsigned short data=0;
- int z;
- for (z=0;z<8;z++) {
- /* Zero-stuff if needed */
- if (ones == 5) {
- /* Stuff a zero */
- data <<= 1;
- ones=0;
- bits++;
- }
- if (y & 0x01) {
- /* There's a one */
- data <<= 1;
- data |= 0x1;
- ones++;
- bits++;
- } else {
- data <<= 1;
- ones = 0;
- bits++;
- }
- y >>= 1;
- }
- /* Special case -- Stuff the zero at the end if appropriate */
- if (ones == 5) {
- /* Stuff a zero */
- data <<= 1;
- ones=0;
- bits++;
- }
- data <<= (10-bits);
- return (data << 22) | (ones << 8) | (bits);
-}
-
-#ifdef DEBUG_PRECALC
-static inline void hdlc_encode_print(int x, unsigned char y, unsigned int val)
-{
- unsigned int z;
- unsigned short c;
- printf("%d ones, %02x (", x, y);
- z = 0x80;
- while(z) {
- printf("%s", y & z ? "1" : "0");
- z >>= 1;
- }
- printf(") encoded as ");
- z = 1 << 31;
- for (x=0;x<(val & 0xf);x++) {
- printf("%s", val & z ? "1" : "0");
- z >>= 1;
- }
- printf(" with %d ones now, %d bits in len\n", (val & 0xf00) >> 8, val & 0xf);
-
-
-}
-#endif
-
-static inline void fasthdlc_precalc(void)
-{
- int x;
- int y;
- /* First the easy part -- the searching */
- for (x=0;x<256;x++) {
- hdlc_search[x] = hdlc_search_precalc(x);
-#ifdef DEBUG_PRECALC
- hdlc_search_print(x, hdlc_search[x]);
-#endif
- }
- /* Now the hard part -- the frame tables */
- for (x=0;x<6;x++) {
- /* Given the # of preceeding ones, process the next
- byte of input (up to 10 actual bits) */
- for (y=0;y<1024;y++) {
- hdlc_frame[x][y] = hdlc_frame_precalc(x, y);
-#ifdef DEBUG_PRECALC
- hdlc_frame_print(x, y, hdlc_frame[x][y]);
-#endif
- }
- }
- /* Now another not-so-hard part, the encoding table */
- for (x=0;x<6;x++) {
- for (y=0;y<256;y++) {
- hdlc_encode[x][y] = hdlc_encode_precalc(x,y);
-#ifdef DEBUG_PRECALC
- hdlc_encode_print(x,y,hdlc_encode[x][y]);
-#endif
- }
- }
-}
-
-
-static inline void fasthdlc_init(struct fasthdlc_state *h)
-{
- /* Initializes all states appropriately */
- h->state = 0;
- h->bits = 0;
- h->data = 0;
- h->ones = 0;
-
-}
-
-static inline int fasthdlc_tx_load_nocheck(struct fasthdlc_state *h, unsigned char c)
-{
- unsigned int res;
- res = hdlc_encode[h->ones][c];
- h->ones = (res & 0xf00) >> 8;
- h->data |= (res & 0xffc00000) >> h->bits;
- h->bits += (res & 0xf);
- return 0;
-}
-
-static inline int fasthdlc_tx_load(struct fasthdlc_state *h, unsigned char c)
-{
- /* Gotta have at least 10 bits left */
- if (h->bits > 22)
- return -1;
- return fasthdlc_tx_load_nocheck(h, c);
-}
-
-static inline int fasthdlc_tx_frame_nocheck(struct fasthdlc_state *h)
-{
- h->ones = 0;
- h->data |= ( 0x7e000000 >> h->bits);
- h->bits += 8;
- return 0;
-}
-
-static inline int fasthdlc_tx_frame(struct fasthdlc_state *h)
-{
- if (h->bits > 24)
- return -1;
- return fasthdlc_tx_frame_nocheck(h);
-}
-
-static inline int fasthdlc_tx_run_nocheck(struct fasthdlc_state *h)
-{
- unsigned char b;
- b = h->data >> 24;
- h->bits -= 8;
- h->data <<= 8;
- return b;
-}
-
-static inline int fasthdlc_tx_run(struct fasthdlc_state *h)
-{
- if (h->bits < 8)
- return -1;
- return fasthdlc_tx_run_nocheck(h);
-}
-
-static inline int fasthdlc_rx_load_nocheck(struct fasthdlc_state *h, unsigned char b)
-{
- /* Put the new byte in the data stream */
- h->data |= b << (24-h->bits);
- h->bits += 8;
- return 0;
-}
-
-static inline int fasthdlc_rx_load(struct fasthdlc_state *h, unsigned char b)
-{
- /* Make sure we have enough space */
- if (h->bits > 24)
- return -1;
- return fasthdlc_rx_load_nocheck(h, b);
-}
-
-/*
- Returns a data character if available, logical OR'd with
- zero or more of RETURN_COMPLETE_FLAG, RETURN_DISCARD_FLAG,
- and RETURN_EMPTY_FLAG, signifying a complete frame, a
- discarded frame, or there is nothing to return.
- */
-
-static inline int fasthdlc_rx_run(struct fasthdlc_state *h)
-{
- unsigned short next;
- int retval=RETURN_EMPTY_FLAG;
- while ((h->bits >= minbits[h->state]) && (retval == RETURN_EMPTY_FLAG)) {
- /* Run until we can no longer be assured that we will
- have enough bits to continue */
- switch(h->state) {
- case FRAME_SEARCH:
- /* Look for an HDLC frame, keying from
- the top byte. */
- next = hdlc_search[h->data >> 24];
- h->bits -= next & 0x0f;
- h->data <<= next & 0x0f;
- h->state = next >> 4;
- h->ones = 0;
- break;
- case PROCESS_FRAME:
- /* Process as much as the next ten bits */
- next = hdlc_frame[h->ones][h->data >> 22];
- h->bits -= ((next & 0x0f00) >> 8);
- h->data <<= ((next & 0x0f00) >> 8);
- h->state = (next & STATE_MASK) >> 15;
- h->ones = (next & ONES_MASK) >> 12;
- switch(next & STATUS_MASK) {
- case STATUS_CONTROL:
- if (next & CONTROL_COMPLETE) {
- /* A complete, valid frame received */
- retval = (RETURN_COMPLETE_FLAG);
- /* Stay in this state */
- h->state = 1;
- } else {
- /* An abort (either out of sync of explicit) */
- retval = (RETURN_DISCARD_FLAG);
- }
- break;
- case STATUS_VALID:
- retval = (next & DATA_MASK);
- }
- }
- }
- return retval;
-}
-#endif /* FAST_HDLC_NEED_TABLES */
-#endif
diff --git a/drivers/dahdi/pciradio.c b/drivers/dahdi/pciradio.c
index 5467147..c3eee66 100644
--- a/drivers/dahdi/pciradio.c
+++ b/drivers/dahdi/pciradio.c
@@ -55,7 +55,6 @@ With driver: 303826 (1.5 %)
#include <asm/delay.h>
#include <dahdi/kernel.h>
-#include <dahdi/user.h>
#define RAD_MAX_IFACES 128
diff --git a/drivers/dahdi/tor2.c b/drivers/dahdi/tor2.c
index 2496612..6f0943e 100644
--- a/drivers/dahdi/tor2.c
+++ b/drivers/dahdi/tor2.c
@@ -35,7 +35,6 @@
#include <linux/moduleparam.h>
#include <dahdi/kernel.h>
-#include <dahdi/user.h>
#define NEED_PCI_IDS
#include "tor2-hw.h"
#include "tor2fw.h"
diff --git a/drivers/dahdi/wcfxo.c b/drivers/dahdi/wcfxo.c
index 82e96c0..9d93784 100644
--- a/drivers/dahdi/wcfxo.c
+++ b/drivers/dahdi/wcfxo.c
@@ -35,7 +35,6 @@
#include <linux/moduleparam.h>
#include <dahdi/kernel.h>
-#include <dahdi/user.h>
/* Uncomment to enable tasklet handling in the FXO driver. Not recommended
in general, but may improve interactive performance */
diff --git a/drivers/dahdi/wct1xxp.c b/drivers/dahdi/wct1xxp.c
index c59cf1a..93827d5 100644
--- a/drivers/dahdi/wct1xxp.c
+++ b/drivers/dahdi/wct1xxp.c
@@ -35,7 +35,6 @@
#include <linux/moduleparam.h>
#include <dahdi/kernel.h>
-#include <dahdi/user.h>
#define WC_MAX_CARDS 32
diff --git a/drivers/dahdi/wct4xxp/base.c b/drivers/dahdi/wct4xxp/base.c
index 65ae0b1..b01d52f 100644
--- a/drivers/dahdi/wct4xxp/base.c
+++ b/drivers/dahdi/wct4xxp/base.c
@@ -40,7 +40,6 @@
#include <linux/moduleparam.h>
#include <dahdi/kernel.h>
-#include <dahdi/user.h>
#include "wct4xxp.h"
#include "vpm450m.h"
diff --git a/drivers/dahdi/wct4xxp/wct4xxp-diag.c b/drivers/dahdi/wct4xxp/wct4xxp-diag.c
index 2019066..77596d5 100644
--- a/drivers/dahdi/wct4xxp/wct4xxp-diag.c
+++ b/drivers/dahdi/wct4xxp/wct4xxp-diag.c
@@ -6,7 +6,6 @@
#include <errno.h>
#include <string.h>
#include <dahdi/kernel.h>
-#include <dahdi/user.h>
#include "wct4xxp.h"
static struct t4_reg_def {
diff --git a/drivers/dahdi/wctc4xxp/base.c b/drivers/dahdi/wctc4xxp/base.c
index 635c797..426fcb2 100644
--- a/drivers/dahdi/wctc4xxp/base.c
+++ b/drivers/dahdi/wctc4xxp/base.c
@@ -45,7 +45,6 @@
#include <linux/firmware.h>
#include <dahdi/kernel.h>
-#include <dahdi/user.h>
/* #define USE_TEST_HW */
diff --git a/drivers/dahdi/wctc4xxp/codec_test.c b/drivers/dahdi/wctc4xxp/codec_test.c
index 22cd898..a4e1cdc 100644
--- a/drivers/dahdi/wctc4xxp/codec_test.c
+++ b/drivers/dahdi/wctc4xxp/codec_test.c
@@ -37,7 +37,6 @@
#include <unistd.h>
#include <dahdi/kernel.h>
-#include <dahdi/user.h>
#define MAX_CARDS_TO_TEST 6
#define MAX_CHANNELS_PER_CARD 96
diff --git a/drivers/dahdi/wctdm.c b/drivers/dahdi/wctdm.c
index 54f7845..b575b98 100644
--- a/drivers/dahdi/wctdm.c
+++ b/drivers/dahdi/wctdm.c
@@ -110,7 +110,6 @@ static alpha indirect_regs[] =
};
#include <dahdi/kernel.h>
-#include <dahdi/user.h>
#include <dahdi/wctdm_user.h>
#include "fxo_modes.h"
diff --git a/drivers/dahdi/wctdm24xxp/GpakApi.c b/drivers/dahdi/wctdm24xxp/GpakApi.c
index 847bbb6..b569a12 100644
--- a/drivers/dahdi/wctdm24xxp/GpakApi.c
+++ b/drivers/dahdi/wctdm24xxp/GpakApi.c
@@ -37,7 +37,6 @@
#include <asm/semaphore.h>
#include <dahdi/kernel.h>
-#include <dahdi/user.h>
#include "GpakHpi.h"
#include "GpakCust.h"
diff --git a/drivers/dahdi/wctdm24xxp/GpakCust.c b/drivers/dahdi/wctdm24xxp/GpakCust.c
index b92cfc8..c94c119 100644
--- a/drivers/dahdi/wctdm24xxp/GpakCust.c
+++ b/drivers/dahdi/wctdm24xxp/GpakCust.c
@@ -40,7 +40,6 @@
#include <asm/semaphore.h>
#include <dahdi/kernel.h>
-#include <dahdi/user.h>
#include "wctdm24xxp.h"
#include "GpakCust.h"
diff --git a/drivers/dahdi/wctdm24xxp/base.c b/drivers/dahdi/wctdm24xxp/base.c
index b7ce165..a2bca60 100644
--- a/drivers/dahdi/wctdm24xxp/base.c
+++ b/drivers/dahdi/wctdm24xxp/base.c
@@ -48,7 +48,6 @@ Tx Gain - W/Pre-Emphasis: -23.99 to 0.00 db
#include <asm/semaphore.h>
#include <dahdi/kernel.h>
-#include <dahdi/user.h>
#include <dahdi/wctdm_user.h>
#include "proslic.h"
diff --git a/drivers/dahdi/wctdm24xxp/wctdm24xxp.h b/drivers/dahdi/wctdm24xxp/wctdm24xxp.h
index 7e9cedb..f2862be 100644
--- a/drivers/dahdi/wctdm24xxp/wctdm24xxp.h
+++ b/drivers/dahdi/wctdm24xxp/wctdm24xxp.h
@@ -28,7 +28,6 @@
#define _WCTDM24XXP_H
#include <dahdi/kernel.h>
-#include <dahdi/user.h>
#include "../voicebus.h"
#include <asm/semaphore.h>
diff --git a/drivers/dahdi/wcte11xp.c b/drivers/dahdi/wcte11xp.c
index f829036..c343ba4 100644
--- a/drivers/dahdi/wcte11xp.c
+++ b/drivers/dahdi/wcte11xp.c
@@ -35,7 +35,6 @@
#include <linux/moduleparam.h>
#include <dahdi/kernel.h>
-#include <dahdi/user.h>
/* XXX: fix this */
#include "wct4xxp/wct4xxp.h" /* For certain definitions */
diff --git a/drivers/dahdi/wcte12xp/GpakApi.c b/drivers/dahdi/wcte12xp/GpakApi.c
index b0fd8bf..c520b7d 100644
--- a/drivers/dahdi/wcte12xp/GpakApi.c
+++ b/drivers/dahdi/wcte12xp/GpakApi.c
@@ -34,7 +34,6 @@
*/
#include <dahdi/kernel.h>
-#include <dahdi/user.h>
#include "GpakHpi.h"
#include "vpmadt032.h"
diff --git a/drivers/dahdi/wcte12xp/base.c b/drivers/dahdi/wcte12xp/base.c
index 3b284f5..ab16e0d 100644
--- a/drivers/dahdi/wcte12xp/base.c
+++ b/drivers/dahdi/wcte12xp/base.c
@@ -38,7 +38,6 @@
#include <linux/moduleparam.h>
#include <dahdi/kernel.h>
-#include <dahdi/user.h>
#include "../wct4xxp/wct4xxp.h" /* For certain definitions */
diff --git a/drivers/dahdi/wcte12xp/vpmadt032.c b/drivers/dahdi/wcte12xp/vpmadt032.c
index 3d02dc3..9e63923 100644
--- a/drivers/dahdi/wcte12xp/vpmadt032.c
+++ b/drivers/dahdi/wcte12xp/vpmadt032.c
@@ -35,7 +35,6 @@
#include <linux/list.h>
#include <dahdi/kernel.h>
-#include <dahdi/user.h>
#include "voicebus.h"