summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/hdlcdrv.h276
-rw-r--r--include/linux/isdn/capilli.h95
-rw-r--r--include/linux/isdn/capiutil.h60
-rw-r--r--include/linux/kernelcapi.h45
-rw-r--r--include/linux/mISDNdsp.h40
-rw-r--r--include/linux/mISDNhw.h192
-rw-r--r--include/linux/mISDNif.h603
-rw-r--r--include/linux/netdevice.h5
-rw-r--r--include/linux/scc.h86
-rw-r--r--include/linux/virtio_caif.h24
-rw-r--r--include/linux/yam.h67
11 files changed, 1 insertions, 1492 deletions
diff --git a/include/linux/hdlcdrv.h b/include/linux/hdlcdrv.h
deleted file mode 100644
index 5d70c3f98f5b..000000000000
--- a/include/linux/hdlcdrv.h
+++ /dev/null
@@ -1,276 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-/*
- * hdlcdrv.h -- HDLC packet radio network driver.
- * The Linux soundcard driver for 1200 baud and 9600 baud packet radio
- * (C) 1996-1998 by Thomas Sailer, HB9JNX/AE4WA
- */
-#ifndef _HDLCDRV_H
-#define _HDLCDRV_H
-
-
-#include <linux/netdevice.h>
-#include <linux/if.h>
-#include <linux/spinlock.h>
-#include <uapi/linux/hdlcdrv.h>
-
-#define HDLCDRV_MAGIC 0x5ac6e778
-#define HDLCDRV_HDLCBUFFER 32 /* should be a power of 2 for speed reasons */
-#define HDLCDRV_BITBUFFER 256 /* should be a power of 2 for speed reasons */
-#undef HDLCDRV_LOOPBACK /* define for HDLC debugging purposes */
-#define HDLCDRV_DEBUG
-
-/* maximum packet length, excluding CRC */
-#define HDLCDRV_MAXFLEN 400
-
-
-struct hdlcdrv_hdlcbuffer {
- spinlock_t lock;
- unsigned rd, wr;
- unsigned short buf[HDLCDRV_HDLCBUFFER];
-};
-
-#ifdef HDLCDRV_DEBUG
-struct hdlcdrv_bitbuffer {
- unsigned int rd;
- unsigned int wr;
- unsigned int shreg;
- unsigned char buffer[HDLCDRV_BITBUFFER];
-};
-
-static inline void hdlcdrv_add_bitbuffer(struct hdlcdrv_bitbuffer *buf,
- unsigned int bit)
-{
- unsigned char new;
-
- new = buf->shreg & 1;
- buf->shreg >>= 1;
- buf->shreg |= (!!bit) << 7;
- if (new) {
- buf->buffer[buf->wr] = buf->shreg;
- buf->wr = (buf->wr+1) % sizeof(buf->buffer);
- buf->shreg = 0x80;
- }
-}
-
-static inline void hdlcdrv_add_bitbuffer_word(struct hdlcdrv_bitbuffer *buf,
- unsigned int bits)
-{
- buf->buffer[buf->wr] = bits & 0xff;
- buf->wr = (buf->wr+1) % sizeof(buf->buffer);
- buf->buffer[buf->wr] = (bits >> 8) & 0xff;
- buf->wr = (buf->wr+1) % sizeof(buf->buffer);
-
-}
-#endif /* HDLCDRV_DEBUG */
-
-/* -------------------------------------------------------------------- */
-/*
- * Information that need to be kept for each driver.
- */
-
-struct hdlcdrv_ops {
- /*
- * first some informations needed by the hdlcdrv routines
- */
- const char *drvname;
- const char *drvinfo;
- /*
- * the routines called by the hdlcdrv routines
- */
- int (*open)(struct net_device *);
- int (*close)(struct net_device *);
- int (*ioctl)(struct net_device *, void __user *,
- struct hdlcdrv_ioctl *, int);
-};
-
-struct hdlcdrv_state {
- int magic;
- int opened;
-
- const struct hdlcdrv_ops *ops;
-
- struct {
- int bitrate;
- } par;
-
- struct hdlcdrv_pttoutput {
- int dma2;
- int seriobase;
- int pariobase;
- int midiiobase;
- unsigned int flags;
- } ptt_out;
-
- struct hdlcdrv_channel_params ch_params;
-
- struct hdlcdrv_hdlcrx {
- struct hdlcdrv_hdlcbuffer hbuf;
- unsigned long in_hdlc_rx;
- /* 0 = sync hunt, != 0 receiving */
- int rx_state;
- unsigned int bitstream;
- unsigned int bitbuf;
- int numbits;
- unsigned char dcd;
-
- int len;
- unsigned char *bp;
- unsigned char buffer[HDLCDRV_MAXFLEN+2];
- } hdlcrx;
-
- struct hdlcdrv_hdlctx {
- struct hdlcdrv_hdlcbuffer hbuf;
- unsigned long in_hdlc_tx;
- /*
- * 0 = send flags
- * 1 = send txtail (flags)
- * 2 = send packet
- */
- int tx_state;
- int numflags;
- unsigned int bitstream;
- unsigned char ptt;
- int calibrate;
- int slotcnt;
-
- unsigned int bitbuf;
- int numbits;
-
- int len;
- unsigned char *bp;
- unsigned char buffer[HDLCDRV_MAXFLEN+2];
- } hdlctx;
-
-#ifdef HDLCDRV_DEBUG
- struct hdlcdrv_bitbuffer bitbuf_channel;
- struct hdlcdrv_bitbuffer bitbuf_hdlc;
-#endif /* HDLCDRV_DEBUG */
-
- int ptt_keyed;
-
- /* queued skb for transmission */
- struct sk_buff *skb;
-};
-
-
-/* -------------------------------------------------------------------- */
-
-static inline int hdlcdrv_hbuf_full(struct hdlcdrv_hdlcbuffer *hb)
-{
- unsigned long flags;
- int ret;
-
- spin_lock_irqsave(&hb->lock, flags);
- ret = !((HDLCDRV_HDLCBUFFER - 1 + hb->rd - hb->wr) % HDLCDRV_HDLCBUFFER);
- spin_unlock_irqrestore(&hb->lock, flags);
- return ret;
-}
-
-/* -------------------------------------------------------------------- */
-
-static inline int hdlcdrv_hbuf_empty(struct hdlcdrv_hdlcbuffer *hb)
-{
- unsigned long flags;
- int ret;
-
- spin_lock_irqsave(&hb->lock, flags);
- ret = (hb->rd == hb->wr);
- spin_unlock_irqrestore(&hb->lock, flags);
- return ret;
-}
-
-/* -------------------------------------------------------------------- */
-
-static inline unsigned short hdlcdrv_hbuf_get(struct hdlcdrv_hdlcbuffer *hb)
-{
- unsigned long flags;
- unsigned short val;
- unsigned newr;
-
- spin_lock_irqsave(&hb->lock, flags);
- if (hb->rd == hb->wr)
- val = 0;
- else {
- newr = (hb->rd+1) % HDLCDRV_HDLCBUFFER;
- val = hb->buf[hb->rd];
- hb->rd = newr;
- }
- spin_unlock_irqrestore(&hb->lock, flags);
- return val;
-}
-
-/* -------------------------------------------------------------------- */
-
-static inline void hdlcdrv_hbuf_put(struct hdlcdrv_hdlcbuffer *hb,
- unsigned short val)
-{
- unsigned newp;
- unsigned long flags;
-
- spin_lock_irqsave(&hb->lock, flags);
- newp = (hb->wr+1) % HDLCDRV_HDLCBUFFER;
- if (newp != hb->rd) {
- hb->buf[hb->wr] = val & 0xffff;
- hb->wr = newp;
- }
- spin_unlock_irqrestore(&hb->lock, flags);
-}
-
-/* -------------------------------------------------------------------- */
-
-static inline void hdlcdrv_putbits(struct hdlcdrv_state *s, unsigned int bits)
-{
- hdlcdrv_hbuf_put(&s->hdlcrx.hbuf, bits);
-}
-
-static inline unsigned int hdlcdrv_getbits(struct hdlcdrv_state *s)
-{
- unsigned int ret;
-
- if (hdlcdrv_hbuf_empty(&s->hdlctx.hbuf)) {
- if (s->hdlctx.calibrate > 0)
- s->hdlctx.calibrate--;
- else
- s->hdlctx.ptt = 0;
- ret = 0;
- } else
- ret = hdlcdrv_hbuf_get(&s->hdlctx.hbuf);
-#ifdef HDLCDRV_LOOPBACK
- hdlcdrv_hbuf_put(&s->hdlcrx.hbuf, ret);
-#endif /* HDLCDRV_LOOPBACK */
- return ret;
-}
-
-static inline void hdlcdrv_channelbit(struct hdlcdrv_state *s, unsigned int bit)
-{
-#ifdef HDLCDRV_DEBUG
- hdlcdrv_add_bitbuffer(&s->bitbuf_channel, bit);
-#endif /* HDLCDRV_DEBUG */
-}
-
-static inline void hdlcdrv_setdcd(struct hdlcdrv_state *s, int dcd)
-{
- s->hdlcrx.dcd = !!dcd;
-}
-
-static inline int hdlcdrv_ptt(struct hdlcdrv_state *s)
-{
- return s->hdlctx.ptt || (s->hdlctx.calibrate > 0);
-}
-
-/* -------------------------------------------------------------------- */
-
-void hdlcdrv_receiver(struct net_device *, struct hdlcdrv_state *);
-void hdlcdrv_transmitter(struct net_device *, struct hdlcdrv_state *);
-void hdlcdrv_arbitrate(struct net_device *, struct hdlcdrv_state *);
-struct net_device *hdlcdrv_register(const struct hdlcdrv_ops *ops,
- unsigned int privsize, const char *ifname,
- unsigned int baseaddr, unsigned int irq,
- unsigned int dma);
-void hdlcdrv_unregister(struct net_device *dev);
-
-/* -------------------------------------------------------------------- */
-
-
-
-#endif /* _HDLCDRV_H */
diff --git a/include/linux/isdn/capilli.h b/include/linux/isdn/capilli.h
deleted file mode 100644
index 12be09b6883b..000000000000
--- a/include/linux/isdn/capilli.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/* $Id: capilli.h,v 1.1.2.2 2004/01/16 21:09:27 keil Exp $
- *
- * Kernel CAPI 2.0 Driver Interface for Linux
- *
- * Copyright 1999 by Carsten Paeth <calle@calle.de>
- *
- * This software may be used and distributed according to the terms
- * of the GNU General Public License, incorporated herein by reference.
- *
- */
-
-#ifndef __CAPILLI_H__
-#define __CAPILLI_H__
-
-#include <linux/kernel.h>
-#include <linux/list.h>
-#include <linux/capi.h>
-#include <linux/kernelcapi.h>
-
-typedef struct capiloaddatapart {
- int user; /* data in userspace ? */
- int len;
- unsigned char *data;
-} capiloaddatapart;
-
-typedef struct capiloaddata {
- capiloaddatapart firmware;
- capiloaddatapart configuration;
-} capiloaddata;
-
-typedef struct capicardparams {
- unsigned int port;
- unsigned irq;
- int cardtype;
- int cardnr;
- unsigned int membase;
-} capicardparams;
-
-struct capi_ctr {
- /* filled in before calling attach_capi_ctr */
- struct module *owner;
- void *driverdata; /* driver specific */
- char name[32]; /* name of controller */
- char *driver_name; /* name of driver */
- int (*load_firmware)(struct capi_ctr *, capiloaddata *);
- void (*reset_ctr)(struct capi_ctr *);
- void (*register_appl)(struct capi_ctr *, u16 appl,
- capi_register_params *);
- void (*release_appl)(struct capi_ctr *, u16 appl);
- u16 (*send_message)(struct capi_ctr *, struct sk_buff *skb);
-
- char *(*procinfo)(struct capi_ctr *);
- int (*proc_show)(struct seq_file *, void *);
-
- /* filled in before calling ready callback */
- u8 manu[CAPI_MANUFACTURER_LEN]; /* CAPI_GET_MANUFACTURER */
- capi_version version; /* CAPI_GET_VERSION */
- capi_profile profile; /* CAPI_GET_PROFILE */
- u8 serial[CAPI_SERIAL_LEN]; /* CAPI_GET_SERIAL */
-
- /* management information for kcapi */
-
- unsigned long nrecvctlpkt;
- unsigned long nrecvdatapkt;
- unsigned long nsentctlpkt;
- unsigned long nsentdatapkt;
-
- int cnr; /* controller number */
- unsigned short state; /* controller state */
- int blocked; /* output blocked */
- int traceflag; /* capi trace */
-
- struct proc_dir_entry *procent;
- char procfn[128];
-};
-
-int attach_capi_ctr(struct capi_ctr *);
-int detach_capi_ctr(struct capi_ctr *);
-
-void capi_ctr_ready(struct capi_ctr * card);
-void capi_ctr_down(struct capi_ctr * card);
-void capi_ctr_handle_message(struct capi_ctr * card, u16 appl, struct sk_buff *skb);
-
-// ---------------------------------------------------------------------------
-// needed for AVM capi drivers
-
-struct capi_driver {
- char name[32]; /* driver name */
- char revision[32];
-
- /* management information for kcapi */
- struct list_head list;
-};
-
-#endif /* __CAPILLI_H__ */
diff --git a/include/linux/isdn/capiutil.h b/include/linux/isdn/capiutil.h
deleted file mode 100644
index 953fd500dff7..000000000000
--- a/include/linux/isdn/capiutil.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* $Id: capiutil.h,v 1.5.6.2 2001/09/23 22:24:33 kai Exp $
- *
- * CAPI 2.0 defines & types
- *
- * From CAPI 2.0 Development Kit AVM 1995 (msg.c)
- * Rewritten for Linux 1996 by Carsten Paeth <calle@calle.de>
- *
- * This software may be used and distributed according to the terms
- * of the GNU General Public License, incorporated herein by reference.
- *
- */
-
-#ifndef __CAPIUTIL_H__
-#define __CAPIUTIL_H__
-
-#include <asm/types.h>
-
-#define CAPIMSG_BASELEN 8
-#define CAPIMSG_U8(m, off) (m[off])
-#define CAPIMSG_U16(m, off) (m[off]|(m[(off)+1]<<8))
-#define CAPIMSG_U32(m, off) (m[off]|(m[(off)+1]<<8)|(m[(off)+2]<<16)|(m[(off)+3]<<24))
-#define CAPIMSG_LEN(m) CAPIMSG_U16(m,0)
-#define CAPIMSG_APPID(m) CAPIMSG_U16(m,2)
-#define CAPIMSG_COMMAND(m) CAPIMSG_U8(m,4)
-#define CAPIMSG_SUBCOMMAND(m) CAPIMSG_U8(m,5)
-#define CAPIMSG_CMD(m) (((m[4])<<8)|(m[5]))
-#define CAPIMSG_MSGID(m) CAPIMSG_U16(m,6)
-#define CAPIMSG_CONTROLLER(m) (m[8] & 0x7f)
-#define CAPIMSG_CONTROL(m) CAPIMSG_U32(m, 8)
-#define CAPIMSG_NCCI(m) CAPIMSG_CONTROL(m)
-#define CAPIMSG_DATALEN(m) CAPIMSG_U16(m,16) /* DATA_B3_REQ */
-
-static inline void capimsg_setu8(void *m, int off, __u8 val)
-{
- ((__u8 *)m)[off] = val;
-}
-
-static inline void capimsg_setu16(void *m, int off, __u16 val)
-{
- ((__u8 *)m)[off] = val & 0xff;
- ((__u8 *)m)[off+1] = (val >> 8) & 0xff;
-}
-
-static inline void capimsg_setu32(void *m, int off, __u32 val)
-{
- ((__u8 *)m)[off] = val & 0xff;
- ((__u8 *)m)[off+1] = (val >> 8) & 0xff;
- ((__u8 *)m)[off+2] = (val >> 16) & 0xff;
- ((__u8 *)m)[off+3] = (val >> 24) & 0xff;
-}
-
-#define CAPIMSG_SETLEN(m, len) capimsg_setu16(m, 0, len)
-#define CAPIMSG_SETAPPID(m, applid) capimsg_setu16(m, 2, applid)
-#define CAPIMSG_SETCOMMAND(m,cmd) capimsg_setu8(m, 4, cmd)
-#define CAPIMSG_SETSUBCOMMAND(m, cmd) capimsg_setu8(m, 5, cmd)
-#define CAPIMSG_SETMSGID(m, msgid) capimsg_setu16(m, 6, msgid)
-#define CAPIMSG_SETCONTROL(m, contr) capimsg_setu32(m, 8, contr)
-#define CAPIMSG_SETDATALEN(m, len) capimsg_setu16(m, 16, len)
-
-#endif /* __CAPIUTIL_H__ */
diff --git a/include/linux/kernelcapi.h b/include/linux/kernelcapi.h
deleted file mode 100644
index 94ba42bf9da1..000000000000
--- a/include/linux/kernelcapi.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-/*
- * $Id: kernelcapi.h,v 1.8.6.2 2001/02/07 11:31:31 kai Exp $
- *
- * Kernel CAPI 2.0 Interface for Linux
- *
- * (c) Copyright 1997 by Carsten Paeth (calle@calle.in-berlin.de)
- *
- */
-#ifndef __KERNELCAPI_H__
-#define __KERNELCAPI_H__
-
-#include <linux/list.h>
-#include <linux/skbuff.h>
-#include <linux/workqueue.h>
-#include <linux/notifier.h>
-#include <uapi/linux/kernelcapi.h>
-
-#define CAPI_NOERROR 0x0000
-
-#define CAPI_TOOMANYAPPLS 0x1001
-#define CAPI_LOGBLKSIZETOSMALL 0x1002
-#define CAPI_BUFFEXECEEDS64K 0x1003
-#define CAPI_MSGBUFSIZETOOSMALL 0x1004
-#define CAPI_ANZLOGCONNNOTSUPPORTED 0x1005
-#define CAPI_REGRESERVED 0x1006
-#define CAPI_REGBUSY 0x1007
-#define CAPI_REGOSRESOURCEERR 0x1008
-#define CAPI_REGNOTINSTALLED 0x1009
-#define CAPI_REGCTRLERNOTSUPPORTEXTEQUIP 0x100a
-#define CAPI_REGCTRLERONLYSUPPORTEXTEQUIP 0x100b
-
-#define CAPI_ILLAPPNR 0x1101
-#define CAPI_ILLCMDORSUBCMDORMSGTOSMALL 0x1102
-#define CAPI_SENDQUEUEFULL 0x1103
-#define CAPI_RECEIVEQUEUEEMPTY 0x1104
-#define CAPI_RECEIVEOVERFLOW 0x1105
-#define CAPI_UNKNOWNNOTPAR 0x1106
-#define CAPI_MSGBUSY 0x1107
-#define CAPI_MSGOSRESOURCEERR 0x1108
-#define CAPI_MSGNOTINSTALLED 0x1109
-#define CAPI_MSGCTRLERNOTSUPPORTEXTEQUIP 0x110a
-#define CAPI_MSGCTRLERONLYSUPPORTEXTEQUIP 0x110b
-
-#endif /* __KERNELCAPI_H__ */
diff --git a/include/linux/mISDNdsp.h b/include/linux/mISDNdsp.h
deleted file mode 100644
index 00758f45fddc..000000000000
--- a/include/linux/mISDNdsp.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __mISDNdsp_H__
-#define __mISDNdsp_H__
-
-struct mISDN_dsp_element_arg {
- char *name;
- char *def;
- char *desc;
-};
-
-struct mISDN_dsp_element {
- char *name;
- void *(*new)(const char *arg);
- void (*free)(void *p);
- void (*process_tx)(void *p, unsigned char *data, int len);
- void (*process_rx)(void *p, unsigned char *data, int len,
- unsigned int txlen);
- int num_args;
- struct mISDN_dsp_element_arg
- *args;
-};
-
-extern int mISDN_dsp_element_register(struct mISDN_dsp_element *elem);
-extern void mISDN_dsp_element_unregister(struct mISDN_dsp_element *elem);
-
-struct dsp_features {
- int hfc_id; /* unique id to identify the chip (or -1) */
- int hfc_dtmf; /* set if HFCmulti card supports dtmf */
- int hfc_conf; /* set if HFCmulti card supports conferences */
- int hfc_loops; /* set if card supports tone loops */
- int hfc_echocanhw; /* set if card supports echocancelation*/
- int pcm_id; /* unique id to identify the pcm bus (or -1) */
- int pcm_slots; /* number of slots on the pcm bus */
- int pcm_banks; /* number of IO banks of pcm bus */
- int unclocked; /* data is not clocked (has jitter/loss) */
- int unordered; /* data is unordered (packets have index) */
-};
-
-#endif
-
diff --git a/include/linux/mISDNhw.h b/include/linux/mISDNhw.h
deleted file mode 100644
index ef4f8eb02eac..000000000000
--- a/include/linux/mISDNhw.h
+++ /dev/null
@@ -1,192 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-/*
- *
- * Author Karsten Keil <kkeil@novell.com>
- *
- * Basic declarations for the mISDN HW channels
- *
- * Copyright 2008 by Karsten Keil <kkeil@novell.com>
- */
-
-#ifndef MISDNHW_H
-#define MISDNHW_H
-#include <linux/mISDNif.h>
-#include <linux/timer.h>
-
-/*
- * HW DEBUG 0xHHHHGGGG
- * H - hardware driver specific bits
- * G - for all drivers
- */
-
-#define DEBUG_HW 0x00000001
-#define DEBUG_HW_OPEN 0x00000002
-#define DEBUG_HW_DCHANNEL 0x00000100
-#define DEBUG_HW_DFIFO 0x00000200
-#define DEBUG_HW_BCHANNEL 0x00001000
-#define DEBUG_HW_BFIFO 0x00002000
-
-#define MAX_DFRAME_LEN_L1 300
-#define MAX_MON_FRAME 32
-#define MAX_LOG_SPACE 2048
-#define MISDN_COPY_SIZE 32
-
-/* channel->Flags bit field */
-#define FLG_TX_BUSY 0 /* tx_buf in use */
-#define FLG_TX_NEXT 1 /* next_skb in use */
-#define FLG_L1_BUSY 2 /* L1 is permanent busy */
-#define FLG_L2_ACTIVATED 3 /* activated from L2 */
-#define FLG_OPEN 5 /* channel is in use */
-#define FLG_ACTIVE 6 /* channel is activated */
-#define FLG_BUSY_TIMER 7
-/* channel type */
-#define FLG_DCHANNEL 8 /* channel is D-channel */
-#define FLG_BCHANNEL 9 /* channel is B-channel */
-#define FLG_ECHANNEL 10 /* channel is E-channel */
-#define FLG_TRANSPARENT 12 /* channel use transparent data */
-#define FLG_HDLC 13 /* channel use hdlc data */
-#define FLG_L2DATA 14 /* channel use L2 DATA primitivs */
-#define FLG_ORIGIN 15 /* channel is on origin site */
-/* channel specific stuff */
-#define FLG_FILLEMPTY 16 /* fill fifo on first frame (empty) */
-/* arcofi specific */
-#define FLG_ARCOFI_TIMER 17
-#define FLG_ARCOFI_ERROR 18
-/* isar specific */
-#define FLG_INITIALIZED 17
-#define FLG_DLEETX 18
-#define FLG_LASTDLE 19
-#define FLG_FIRST 20
-#define FLG_LASTDATA 21
-#define FLG_NMD_DATA 22
-#define FLG_FTI_RUN 23
-#define FLG_LL_OK 24
-#define FLG_LL_CONN 25
-#define FLG_DTMFSEND 26
-#define FLG_TX_EMPTY 27
-/* stop sending received data upstream */
-#define FLG_RX_OFF 28
-/* workq events */
-#define FLG_RECVQUEUE 30
-#define FLG_PHCHANGE 31
-
-#define schedule_event(s, ev) do { \
- test_and_set_bit(ev, &((s)->Flags)); \
- schedule_work(&((s)->workq)); \
- } while (0)
-
-struct dchannel {
- struct mISDNdevice dev;
- u_long Flags;
- struct work_struct workq;
- void (*phfunc) (struct dchannel *);
- u_int state;
- void *l1;
- void *hw;
- int slot; /* multiport card channel slot */
- struct timer_list timer;
- /* receive data */
- struct sk_buff *rx_skb;
- int maxlen;
- /* send data */
- struct sk_buff_head squeue;
- struct sk_buff_head rqueue;
- struct sk_buff *tx_skb;
- int tx_idx;
- int debug;
- /* statistics */
- int err_crc;
- int err_tx;
- int err_rx;
-};
-
-typedef int (dchannel_l1callback)(struct dchannel *, u_int);
-extern int create_l1(struct dchannel *, dchannel_l1callback *);
-
-/* private L1 commands */
-#define INFO0 0x8002
-#define INFO1 0x8102
-#define INFO2 0x8202
-#define INFO3_P8 0x8302
-#define INFO3_P10 0x8402
-#define INFO4_P8 0x8502
-#define INFO4_P10 0x8602
-#define LOSTFRAMING 0x8702
-#define ANYSIGNAL 0x8802
-#define HW_POWERDOWN 0x8902
-#define HW_RESET_REQ 0x8a02
-#define HW_POWERUP_REQ 0x8b02
-#define HW_DEACT_REQ 0x8c02
-#define HW_ACTIVATE_REQ 0x8e02
-#define HW_D_NOBLOCKED 0x8f02
-#define HW_RESET_IND 0x9002
-#define HW_POWERUP_IND 0x9102
-#define HW_DEACT_IND 0x9202
-#define HW_ACTIVATE_IND 0x9302
-#define HW_DEACT_CNF 0x9402
-#define HW_TESTLOOP 0x9502
-#define HW_TESTRX_RAW 0x9602
-#define HW_TESTRX_HDLC 0x9702
-#define HW_TESTRX_OFF 0x9802
-#define HW_TIMER3_IND 0x9902
-#define HW_TIMER3_VALUE 0x9a00
-#define HW_TIMER3_VMASK 0x00FF
-
-struct layer1;
-extern int l1_event(struct layer1 *, u_int);
-
-#define MISDN_BCH_FILL_SIZE 4
-
-struct bchannel {
- struct mISDNchannel ch;
- int nr;
- u_long Flags;
- struct work_struct workq;
- u_int state;
- void *hw;
- int slot; /* multiport card channel slot */
- struct timer_list timer;
- /* receive data */
- u8 fill[MISDN_BCH_FILL_SIZE];
- struct sk_buff *rx_skb;
- unsigned short maxlen;
- unsigned short init_maxlen; /* initial value */
- unsigned short next_maxlen; /* pending value */
- unsigned short minlen; /* for transparent data */
- unsigned short init_minlen; /* initial value */
- unsigned short next_minlen; /* pending value */
- /* send data */
- struct sk_buff *next_skb;
- struct sk_buff *tx_skb;
- struct sk_buff_head rqueue;
- int rcount;
- int tx_idx;
- int debug;
- /* statistics */
- int err_crc;
- int err_tx;
- int err_rx;
- int dropcnt;
-};
-
-extern int mISDN_initdchannel(struct dchannel *, int, void *);
-extern int mISDN_initbchannel(struct bchannel *, unsigned short,
- unsigned short);
-extern int mISDN_freedchannel(struct dchannel *);
-extern void mISDN_clear_bchannel(struct bchannel *);
-extern void mISDN_freebchannel(struct bchannel *);
-extern int mISDN_ctrl_bchannel(struct bchannel *, struct mISDN_ctrl_req *);
-extern void queue_ch_frame(struct mISDNchannel *, u_int,
- int, struct sk_buff *);
-extern int dchannel_senddata(struct dchannel *, struct sk_buff *);
-extern int bchannel_senddata(struct bchannel *, struct sk_buff *);
-extern int bchannel_get_rxbuf(struct bchannel *, int);
-extern void recv_Dchannel(struct dchannel *);
-extern void recv_Echannel(struct dchannel *, struct dchannel *);
-extern void recv_Bchannel(struct bchannel *, unsigned int, bool);
-extern void recv_Dchannel_skb(struct dchannel *, struct sk_buff *);
-extern void recv_Bchannel_skb(struct bchannel *, struct sk_buff *);
-extern int get_next_bframe(struct bchannel *);
-extern int get_next_dframe(struct dchannel *);
-
-#endif
diff --git a/include/linux/mISDNif.h b/include/linux/mISDNif.h
deleted file mode 100644
index 7aab4a769736..000000000000
--- a/include/linux/mISDNif.h
+++ /dev/null
@@ -1,603 +0,0 @@
-/*
- *
- * Author Karsten Keil <kkeil@novell.com>
- *
- * Copyright 2008 by Karsten Keil <kkeil@novell.com>
- *
- * This code is free software; you can redistribute it and/or modify
- * it under the terms of the GNU LESSER GENERAL PUBLIC LICENSE
- * version 2.1 as published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU LESSER GENERAL PUBLIC LICENSE for more details.
- *
- */
-
-#ifndef mISDNIF_H
-#define mISDNIF_H
-
-#include <linux/types.h>
-#include <linux/errno.h>
-#include <linux/socket.h>
-
-/*
- * ABI Version 32 bit
- *
- * <8 bit> Major version
- * - changed if any interface become backwards incompatible
- *
- * <8 bit> Minor version
- * - changed if any interface is extended but backwards compatible
- *
- * <16 bit> Release number
- * - should be incremented on every checkin
- */
-#define MISDN_MAJOR_VERSION 1
-#define MISDN_MINOR_VERSION 1
-#define MISDN_RELEASE 29
-
-/* primitives for information exchange
- * generell format
- * <16 bit 0 >
- * <8 bit command>
- * BIT 8 = 1 LAYER private
- * BIT 7 = 1 answer
- * BIT 6 = 1 DATA
- * <8 bit target layer mask>
- *
- * Layer = 00 is reserved for general commands
- Layer = 01 L2 -> HW
- Layer = 02 HW -> L2
- Layer = 04 L3 -> L2
- Layer = 08 L2 -> L3
- * Layer = FF is reserved for broadcast commands
- */
-
-#define MISDN_CMDMASK 0xff00
-#define MISDN_LAYERMASK 0x00ff
-
-/* generell commands */
-#define OPEN_CHANNEL 0x0100
-#define CLOSE_CHANNEL 0x0200
-#define CONTROL_CHANNEL 0x0300
-#define CHECK_DATA 0x0400
-
-/* layer 2 -> layer 1 */
-#define PH_ACTIVATE_REQ 0x0101
-#define PH_DEACTIVATE_REQ 0x0201
-#define PH_DATA_REQ 0x2001
-#define MPH_ACTIVATE_REQ 0x0501
-#define MPH_DEACTIVATE_REQ 0x0601
-#define MPH_INFORMATION_REQ 0x0701
-#define PH_CONTROL_REQ 0x0801
-
-/* layer 1 -> layer 2 */
-#define PH_ACTIVATE_IND 0x0102
-#define PH_ACTIVATE_CNF 0x4102
-#define PH_DEACTIVATE_IND 0x0202
-#define PH_DEACTIVATE_CNF 0x4202
-#define PH_DATA_IND 0x2002
-#define PH_DATA_E_IND 0x3002
-#define MPH_ACTIVATE_IND 0x0502
-#define MPH_DEACTIVATE_IND 0x0602
-#define MPH_INFORMATION_IND 0x0702
-#define PH_DATA_CNF 0x6002
-#define PH_CONTROL_IND 0x0802
-#define PH_CONTROL_CNF 0x4802
-
-/* layer 3 -> layer 2 */
-#define DL_ESTABLISH_REQ 0x1004
-#define DL_RELEASE_REQ 0x1104
-#define DL_DATA_REQ 0x3004
-#define DL_UNITDATA_REQ 0x3104
-#define DL_INFORMATION_REQ 0x0004
-
-/* layer 2 -> layer 3 */
-#define DL_ESTABLISH_IND 0x1008
-#define DL_ESTABLISH_CNF 0x5008
-#define DL_RELEASE_IND 0x1108
-#define DL_RELEASE_CNF 0x5108
-#define DL_DATA_IND 0x3008
-#define DL_UNITDATA_IND 0x3108
-#define DL_INFORMATION_IND 0x0008
-
-/* intern layer 2 management */
-#define MDL_ASSIGN_REQ 0x1804
-#define MDL_ASSIGN_IND 0x1904
-#define MDL_REMOVE_REQ 0x1A04
-#define MDL_REMOVE_IND 0x1B04
-#define MDL_STATUS_UP_IND 0x1C04
-#define MDL_STATUS_DOWN_IND 0x1D04
-#define MDL_STATUS_UI_IND 0x1E04
-#define MDL_ERROR_IND 0x1F04
-#define MDL_ERROR_RSP 0x5F04
-
-/* intern layer 2 */
-#define DL_TIMER200_IND 0x7004
-#define DL_TIMER203_IND 0x7304
-#define DL_INTERN_MSG 0x7804
-
-/* DL_INFORMATION_IND types */
-#define DL_INFO_L2_CONNECT 0x0001
-#define DL_INFO_L2_REMOVED 0x0002
-
-/* PH_CONTROL types */
-/* TOUCH TONE IS 0x20XX XX "0"..."9", "A","B","C","D","*","#" */
-#define DTMF_TONE_VAL 0x2000
-#define DTMF_TONE_MASK 0x007F
-#define DTMF_TONE_START 0x2100
-#define DTMF_TONE_STOP 0x2200
-#define DTMF_HFC_COEF 0x4000
-#define DSP_CONF_JOIN 0x2403
-#define DSP_CONF_SPLIT 0x2404
-#define DSP_RECEIVE_OFF 0x2405
-#define DSP_RECEIVE_ON 0x2406
-#define DSP_ECHO_ON 0x2407
-#define DSP_ECHO_OFF 0x2408
-#define DSP_MIX_ON 0x2409
-#define DSP_MIX_OFF 0x240a
-#define DSP_DELAY 0x240b
-#define DSP_JITTER 0x240c
-#define DSP_TXDATA_ON 0x240d
-#define DSP_TXDATA_OFF 0x240e
-#define DSP_TX_DEJITTER 0x240f
-#define DSP_TX_DEJ_OFF 0x2410
-#define DSP_TONE_PATT_ON 0x2411
-#define DSP_TONE_PATT_OFF 0x2412
-#define DSP_VOL_CHANGE_TX 0x2413
-#define DSP_VOL_CHANGE_RX 0x2414
-#define DSP_BF_ENABLE_KEY 0x2415
-#define DSP_BF_DISABLE 0x2416
-#define DSP_BF_ACCEPT 0x2416
-#define DSP_BF_REJECT 0x2417
-#define DSP_PIPELINE_CFG 0x2418
-#define HFC_VOL_CHANGE_TX 0x2601
-#define HFC_VOL_CHANGE_RX 0x2602
-#define HFC_SPL_LOOP_ON 0x2603
-#define HFC_SPL_LOOP_OFF 0x2604
-/* for T30 FAX and analog modem */
-#define HW_MOD_FRM 0x4000
-#define HW_MOD_FRH 0x4001
-#define HW_MOD_FTM 0x4002
-#define HW_MOD_FTH 0x4003
-#define HW_MOD_FTS 0x4004
-#define HW_MOD_CONNECT 0x4010
-#define HW_MOD_OK 0x4011
-#define HW_MOD_NOCARR 0x4012
-#define HW_MOD_FCERROR 0x4013
-#define HW_MOD_READY 0x4014
-#define HW_MOD_LASTDATA 0x4015
-
-/* DSP_TONE_PATT_ON parameter */
-#define TONE_OFF 0x0000
-#define TONE_GERMAN_DIALTONE 0x0001
-#define TONE_GERMAN_OLDDIALTONE 0x0002
-#define TONE_AMERICAN_DIALTONE 0x0003
-#define TONE_GERMAN_DIALPBX 0x0004
-#define TONE_GERMAN_OLDDIALPBX 0x0005
-#define TONE_AMERICAN_DIALPBX 0x0006
-#define TONE_GERMAN_RINGING 0x0007
-#define TONE_GERMAN_OLDRINGING 0x0008
-#define TONE_AMERICAN_RINGPBX 0x000b
-#define TONE_GERMAN_RINGPBX 0x000c
-#define TONE_GERMAN_OLDRINGPBX 0x000d
-#define TONE_AMERICAN_RINGING 0x000e
-#define TONE_GERMAN_BUSY 0x000f
-#define TONE_GERMAN_OLDBUSY 0x0010
-#define TONE_AMERICAN_BUSY 0x0011
-#define TONE_GERMAN_HANGUP 0x0012
-#define TONE_GERMAN_OLDHANGUP 0x0013
-#define TONE_AMERICAN_HANGUP 0x0014
-#define TONE_SPECIAL_INFO 0x0015
-#define TONE_GERMAN_GASSENBESETZT 0x0016
-#define TONE_GERMAN_AUFSCHALTTON 0x0016
-
-/* MPH_INFORMATION_IND */
-#define L1_SIGNAL_LOS_OFF 0x0010
-#define L1_SIGNAL_LOS_ON 0x0011
-#define L1_SIGNAL_AIS_OFF 0x0012
-#define L1_SIGNAL_AIS_ON 0x0013
-#define L1_SIGNAL_RDI_OFF 0x0014
-#define L1_SIGNAL_RDI_ON 0x0015
-#define L1_SIGNAL_SLIP_RX 0x0020
-#define L1_SIGNAL_SLIP_TX 0x0021
-
-/*
- * protocol ids
- * D channel 1-31
- * B channel 33 - 63
- */
-
-#define ISDN_P_NONE 0
-#define ISDN_P_BASE 0
-#define ISDN_P_TE_S0 0x01
-#define ISDN_P_NT_S0 0x02
-#define ISDN_P_TE_E1 0x03
-#define ISDN_P_NT_E1 0x04
-#define ISDN_P_TE_UP0 0x05
-#define ISDN_P_NT_UP0 0x06
-
-#define IS_ISDN_P_TE(p) ((p == ISDN_P_TE_S0) || (p == ISDN_P_TE_E1) || \
- (p == ISDN_P_TE_UP0) || (p == ISDN_P_LAPD_TE))
-#define IS_ISDN_P_NT(p) ((p == ISDN_P_NT_S0) || (p == ISDN_P_NT_E1) || \
- (p == ISDN_P_NT_UP0) || (p == ISDN_P_LAPD_NT))
-#define IS_ISDN_P_S0(p) ((p == ISDN_P_TE_S0) || (p == ISDN_P_NT_S0))
-#define IS_ISDN_P_E1(p) ((p == ISDN_P_TE_E1) || (p == ISDN_P_NT_E1))
-#define IS_ISDN_P_UP0(p) ((p == ISDN_P_TE_UP0) || (p == ISDN_P_NT_UP0))
-
-
-#define ISDN_P_LAPD_TE 0x10
-#define ISDN_P_LAPD_NT 0x11
-
-#define ISDN_P_B_MASK 0x1f
-#define ISDN_P_B_START 0x20
-
-#define ISDN_P_B_RAW 0x21
-#define ISDN_P_B_HDLC 0x22
-#define ISDN_P_B_X75SLP 0x23
-#define ISDN_P_B_L2DTMF 0x24
-#define ISDN_P_B_L2DSP 0x25
-#define ISDN_P_B_L2DSPHDLC 0x26
-#define ISDN_P_B_T30_FAX 0x27
-#define ISDN_P_B_MODEM_ASYNC 0x28
-
-#define OPTION_L2_PMX 1
-#define OPTION_L2_PTP 2
-#define OPTION_L2_FIXEDTEI 3
-#define OPTION_L2_CLEANUP 4
-#define OPTION_L1_HOLD 5
-
-/* should be in sync with linux/kobject.h:KOBJ_NAME_LEN */
-#define MISDN_MAX_IDLEN 20
-
-struct mISDNhead {
- unsigned int prim;
- unsigned int id;
-} __packed;
-
-#define MISDN_HEADER_LEN sizeof(struct mISDNhead)
-#define MAX_DATA_SIZE 2048
-#define MAX_DATA_MEM (MAX_DATA_SIZE + MISDN_HEADER_LEN)
-#define MAX_DFRAME_LEN 260
-
-#define MISDN_ID_ADDR_MASK 0xFFFF
-#define MISDN_ID_TEI_MASK 0xFF00
-#define MISDN_ID_SAPI_MASK 0x00FF
-#define MISDN_ID_TEI_ANY 0x7F00
-
-#define MISDN_ID_ANY 0xFFFF
-#define MISDN_ID_NONE 0xFFFE
-
-#define GROUP_TEI 127
-#define TEI_SAPI 63
-#define CTRL_SAPI 0
-
-#define MISDN_MAX_CHANNEL 127
-#define MISDN_CHMAP_SIZE ((MISDN_MAX_CHANNEL + 1) >> 3)
-
-#define SOL_MISDN 0
-
-struct sockaddr_mISDN {
- sa_family_t family;
- unsigned char dev;
- unsigned char channel;
- unsigned char sapi;
- unsigned char tei;
-};
-
-struct mISDNversion {
- unsigned char major;
- unsigned char minor;
- unsigned short release;
-};
-
-struct mISDN_devinfo {
- u_int id;
- u_int Dprotocols;
- u_int Bprotocols;
- u_int protocol;
- u_char channelmap[MISDN_CHMAP_SIZE];
- u_int nrbchan;
- char name[MISDN_MAX_IDLEN];
-};
-
-struct mISDN_devrename {
- u_int id;
- char name[MISDN_MAX_IDLEN]; /* new name */
-};
-
-/* MPH_INFORMATION_REQ payload */
-struct ph_info_ch {
- __u32 protocol;
- __u64 Flags;
-};
-
-struct ph_info_dch {
- struct ph_info_ch ch;
- __u16 state;
- __u16 num_bch;
-};
-
-struct ph_info {
- struct ph_info_dch dch;
- struct ph_info_ch bch[];
-};
-
-/* timer device ioctl */
-#define IMADDTIMER _IOR('I', 64, int)
-#define IMDELTIMER _IOR('I', 65, int)
-
-/* socket ioctls */
-#define IMGETVERSION _IOR('I', 66, int)
-#define IMGETCOUNT _IOR('I', 67, int)
-#define IMGETDEVINFO _IOR('I', 68, int)
-#define IMCTRLREQ _IOR('I', 69, int)
-#define IMCLEAR_L2 _IOR('I', 70, int)
-#define IMSETDEVNAME _IOR('I', 71, struct mISDN_devrename)
-#define IMHOLD_L1 _IOR('I', 72, int)
-
-static inline int
-test_channelmap(u_int nr, u_char *map)
-{
- if (nr <= MISDN_MAX_CHANNEL)
- return map[nr >> 3] & (1 << (nr & 7));
- else
- return 0;
-}
-
-static inline void
-set_channelmap(u_int nr, u_char *map)
-{
- map[nr >> 3] |= (1 << (nr & 7));
-}
-
-static inline void
-clear_channelmap(u_int nr, u_char *map)
-{
- map[nr >> 3] &= ~(1 << (nr & 7));
-}
-
-/* CONTROL_CHANNEL parameters */
-#define MISDN_CTRL_GETOP 0x0000
-#define MISDN_CTRL_LOOP 0x0001
-#define MISDN_CTRL_CONNECT 0x0002
-#define MISDN_CTRL_DISCONNECT 0x0004
-#define MISDN_CTRL_RX_BUFFER 0x0008
-#define MISDN_CTRL_PCMCONNECT 0x0010
-#define MISDN_CTRL_PCMDISCONNECT 0x0020
-#define MISDN_CTRL_SETPEER 0x0040
-#define MISDN_CTRL_UNSETPEER 0x0080
-#define MISDN_CTRL_RX_OFF 0x0100
-#define MISDN_CTRL_FILL_EMPTY 0x0200
-#define MISDN_CTRL_GETPEER 0x0400
-#define MISDN_CTRL_L1_TIMER3 0x0800
-#define MISDN_CTRL_HW_FEATURES_OP 0x2000
-#define MISDN_CTRL_HW_FEATURES 0x2001
-#define MISDN_CTRL_HFC_OP 0x4000
-#define MISDN_CTRL_HFC_PCM_CONN 0x4001
-#define MISDN_CTRL_HFC_PCM_DISC 0x4002
-#define MISDN_CTRL_HFC_CONF_JOIN 0x4003
-#define MISDN_CTRL_HFC_CONF_SPLIT 0x4004
-#define MISDN_CTRL_HFC_RECEIVE_OFF 0x4005
-#define MISDN_CTRL_HFC_RECEIVE_ON 0x4006
-#define MISDN_CTRL_HFC_ECHOCAN_ON 0x4007
-#define MISDN_CTRL_HFC_ECHOCAN_OFF 0x4008
-#define MISDN_CTRL_HFC_WD_INIT 0x4009
-#define MISDN_CTRL_HFC_WD_RESET 0x400A
-
-/* special RX buffer value for MISDN_CTRL_RX_BUFFER request.p1 is the minimum
- * buffer size request.p2 the maximum. Using MISDN_CTRL_RX_SIZE_IGNORE will
- * not change the value, but still read back the actual stetting.
- */
-#define MISDN_CTRL_RX_SIZE_IGNORE -1
-
-/* socket options */
-#define MISDN_TIME_STAMP 0x0001
-
-struct mISDN_ctrl_req {
- int op;
- int channel;
- int p1;
- int p2;
-};
-
-/* muxer options */
-#define MISDN_OPT_ALL 1
-#define MISDN_OPT_TEIMGR 2
-
-#ifdef __KERNEL__
-#include <linux/list.h>
-#include <linux/skbuff.h>
-#include <linux/net.h>
-#include <net/sock.h>
-#include <linux/completion.h>
-
-#define DEBUG_CORE 0x000000ff
-#define DEBUG_CORE_FUNC 0x00000002
-#define DEBUG_SOCKET 0x00000004
-#define DEBUG_MANAGER 0x00000008
-#define DEBUG_SEND_ERR 0x00000010
-#define DEBUG_MSG_THREAD 0x00000020
-#define DEBUG_QUEUE_FUNC 0x00000040
-#define DEBUG_L1 0x0000ff00
-#define DEBUG_L1_FSM 0x00000200
-#define DEBUG_L2 0x00ff0000
-#define DEBUG_L2_FSM 0x00020000
-#define DEBUG_L2_CTRL 0x00040000
-#define DEBUG_L2_RECV 0x00080000
-#define DEBUG_L2_TEI 0x00100000
-#define DEBUG_L2_TEIFSM 0x00200000
-#define DEBUG_TIMER 0x01000000
-#define DEBUG_CLOCK 0x02000000
-
-#define mISDN_HEAD_P(s) ((struct mISDNhead *)&s->cb[0])
-#define mISDN_HEAD_PRIM(s) (((struct mISDNhead *)&s->cb[0])->prim)
-#define mISDN_HEAD_ID(s) (((struct mISDNhead *)&s->cb[0])->id)
-
-/* socket states */
-#define MISDN_OPEN 1
-#define MISDN_BOUND 2
-#define MISDN_CLOSED 3
-
-struct mISDNchannel;
-struct mISDNdevice;
-struct mISDNstack;
-struct mISDNclock;
-
-struct channel_req {
- u_int protocol;
- struct sockaddr_mISDN adr;
- struct mISDNchannel *ch;
-};
-
-typedef int (ctrl_func_t)(struct mISDNchannel *, u_int, void *);
-typedef int (send_func_t)(struct mISDNchannel *, struct sk_buff *);
-typedef int (create_func_t)(struct channel_req *);
-
-struct Bprotocol {
- struct list_head list;
- char *name;
- u_int Bprotocols;
- create_func_t *create;
-};
-
-struct mISDNchannel {
- struct list_head list;
- u_int protocol;
- u_int nr;
- u_long opt;
- u_int addr;
- struct mISDNstack *st;
- struct mISDNchannel *peer;
- send_func_t *send;
- send_func_t *recv;
- ctrl_func_t *ctrl;
-};
-
-struct mISDN_sock_list {
- struct hlist_head head;
- rwlock_t lock;
-};
-
-struct mISDN_sock {
- struct sock sk;
- struct mISDNchannel ch;
- u_int cmask;
- struct mISDNdevice *dev;
-};
-
-
-
-struct mISDNdevice {
- struct mISDNchannel D;
- u_int id;
- u_int Dprotocols;
- u_int Bprotocols;
- u_int nrbchan;
- u_char channelmap[MISDN_CHMAP_SIZE];
- struct list_head bchannels;
- struct mISDNchannel *teimgr;
- struct device dev;
-};
-
-struct mISDNstack {
- u_long status;
- struct mISDNdevice *dev;
- struct task_struct *thread;
- struct completion *notify;
- wait_queue_head_t workq;
- struct sk_buff_head msgq;
- struct list_head layer2;
- struct mISDNchannel *layer1;
- struct mISDNchannel own;
- struct mutex lmutex; /* protect lists */
- struct mISDN_sock_list l1sock;
-#ifdef MISDN_MSG_STATS
- u_int msg_cnt;
- u_int sleep_cnt;
- u_int stopped_cnt;
-#endif
-};
-
-typedef int (clockctl_func_t)(void *, int);
-
-struct mISDNclock {
- struct list_head list;
- char name[64];
- int pri;
- clockctl_func_t *ctl;
- void *priv;
-};
-
-/* global alloc/queue functions */
-
-static inline struct sk_buff *
-mI_alloc_skb(unsigned int len, gfp_t gfp_mask)
-{
- struct sk_buff *skb;
-
- skb = alloc_skb(len + MISDN_HEADER_LEN, gfp_mask);
- if (likely(skb))
- skb_reserve(skb, MISDN_HEADER_LEN);
- return skb;
-}
-
-static inline struct sk_buff *
-_alloc_mISDN_skb(u_int prim, u_int id, u_int len, void *dp, gfp_t gfp_mask)
-{
- struct sk_buff *skb = mI_alloc_skb(len, gfp_mask);
- struct mISDNhead *hh;
-
- if (!skb)
- return NULL;
- if (len)
- skb_put_data(skb, dp, len);
- hh = mISDN_HEAD_P(skb);
- hh->prim = prim;
- hh->id = id;
- return skb;
-}
-
-static inline void
-_queue_data(struct mISDNchannel *ch, u_int prim,
- u_int id, u_int len, void *dp, gfp_t gfp_mask)
-{
- struct sk_buff *skb;
-
- if (!ch->peer)
- return;
- skb = _alloc_mISDN_skb(prim, id, len, dp, gfp_mask);
- if (!skb)
- return;
- if (ch->recv(ch->peer, skb))
- dev_kfree_skb(skb);
-}
-
-/* global register/unregister functions */
-
-extern int mISDN_register_device(struct mISDNdevice *,
- struct device *parent, char *name);
-extern void mISDN_unregister_device(struct mISDNdevice *);
-extern int mISDN_register_Bprotocol(struct Bprotocol *);
-extern void mISDN_unregister_Bprotocol(struct Bprotocol *);
-extern struct mISDNclock *mISDN_register_clock(char *, int, clockctl_func_t *,
- void *);
-extern void mISDN_unregister_clock(struct mISDNclock *);
-
-static inline struct mISDNdevice *dev_to_mISDN(const struct device *dev)
-{
- if (dev)
- return dev_get_drvdata(dev);
- else
- return NULL;
-}
-
-extern void set_channel_address(struct mISDNchannel *, u_int, u_int);
-extern void mISDN_clock_update(struct mISDNclock *, int, ktime_t *);
-extern unsigned short mISDN_clock_get(void);
-extern const char *mISDNDevName4ch(struct mISDNchannel *);
-
-#endif /* __KERNEL__ */
-#endif /* mISDNIF_H */
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 97b435da5771..0e1e581efc5a 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -162,7 +162,7 @@ static inline bool dev_xmit_complete(int rc)
#if defined(CONFIG_HYPERV_NET)
# define LL_MAX_HEADER 128
-#elif defined(CONFIG_WLAN) || IS_ENABLED(CONFIG_AX25)
+#elif defined(CONFIG_WLAN)
# if defined(CONFIG_MAC80211_MESH)
# define LL_MAX_HEADER 128
# else
@@ -2336,9 +2336,6 @@ struct net_device {
#if IS_ENABLED(CONFIG_ATALK)
void *atalk_ptr;
#endif
-#if IS_ENABLED(CONFIG_AX25)
- struct ax25_dev __rcu *ax25_ptr;
-#endif
#if IS_ENABLED(CONFIG_CFG80211)
struct wireless_dev *ieee80211_ptr;
#endif
diff --git a/include/linux/scc.h b/include/linux/scc.h
deleted file mode 100644
index 745eabd17c10..000000000000
--- a/include/linux/scc.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-/* $Id: scc.h,v 1.29 1997/04/02 14:56:45 jreuter Exp jreuter $ */
-#ifndef _SCC_H
-#define _SCC_H
-
-#include <uapi/linux/scc.h>
-
-
-enum {TX_OFF, TX_ON}; /* command for scc_key_trx() */
-
-/* Vector masks in RR2B */
-
-#define VECTOR_MASK 0x06
-#define TXINT 0x00
-#define EXINT 0x02
-#define RXINT 0x04
-#define SPINT 0x06
-
-#ifdef CONFIG_SCC_DELAY
-#define Inb(port) inb_p(port)
-#define Outb(port, val) outb_p(val, port)
-#else
-#define Inb(port) inb(port)
-#define Outb(port, val) outb(val, port)
-#endif
-
-/* SCC channel control structure for KISS */
-
-struct scc_kiss {
- unsigned char txdelay; /* Transmit Delay 10 ms/cnt */
- unsigned char persist; /* Persistence (0-255) as a % */
- unsigned char slottime; /* Delay to wait on persistence hit */
- unsigned char tailtime; /* Delay after last byte written */
- unsigned char fulldup; /* Full Duplex mode 0=CSMA 1=DUP 2=ALWAYS KEYED */
- unsigned char waittime; /* Waittime before any transmit attempt */
- unsigned int maxkeyup; /* Maximum time to transmit (seconds) */
- unsigned int mintime; /* Minimal offtime after MAXKEYUP timeout (seconds) */
- unsigned int idletime; /* Maximum idle time in ALWAYS KEYED mode (seconds) */
- unsigned int maxdefer; /* Timer for CSMA channel busy limit */
- unsigned char tx_inhibit; /* Transmit is not allowed when set */
- unsigned char group; /* Group ID for AX.25 TX interlocking */
- unsigned char mode; /* 'normal' or 'hwctrl' mode (unused) */
- unsigned char softdcd; /* Use DPLL instead of DCD pin for carrier detect */
-};
-
-
-/* SCC channel structure */
-
-struct scc_channel {
- int init; /* channel exists? */
-
- struct net_device *dev; /* link to device control structure */
- struct net_device_stats dev_stat;/* device statistics */
-
- char brand; /* manufacturer of the board */
- long clock; /* used clock */
-
- io_port ctrl; /* I/O address of CONTROL register */
- io_port data; /* I/O address of DATA register */
- io_port special; /* I/O address of special function port */
- int irq; /* Number of Interrupt */
-
- char option;
- char enhanced; /* Enhanced SCC support */
-
- unsigned char wreg[16]; /* Copy of last written value in WRx */
- unsigned char status; /* Copy of R0 at last external interrupt */
- unsigned char dcd; /* DCD status */
-
- struct scc_kiss kiss; /* control structure for KISS params */
- struct scc_stat stat; /* statistical information */
- struct scc_modem modem; /* modem information */
-
- struct sk_buff_head tx_queue; /* next tx buffer */
- struct sk_buff *rx_buff; /* pointer to frame currently received */
- struct sk_buff *tx_buff; /* pointer to frame currently transmitted */
-
- /* Timer */
- struct timer_list tx_t; /* tx timer for this channel */
- struct timer_list tx_wdog; /* tx watchdogs */
-
- /* Channel lock */
- spinlock_t lock; /* Channel guard lock */
-};
-
-#endif /* defined(_SCC_H) */
diff --git a/include/linux/virtio_caif.h b/include/linux/virtio_caif.h
deleted file mode 100644
index ea722479510c..000000000000
--- a/include/linux/virtio_caif.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (C) ST-Ericsson AB 2012
- * Author: Sjur Brændeland <sjur.brandeland@stericsson.com>
- *
- * This header is BSD licensed so
- * anyone can use the definitions to implement compatible remote processors
- */
-
-#ifndef VIRTIO_CAIF_H
-#define VIRTIO_CAIF_H
-
-#include <linux/types.h>
-struct virtio_caif_transf_config {
- __virtio16 headroom;
- __virtio16 tailroom;
- __virtio32 mtu;
- u8 reserved[4];
-};
-
-struct virtio_caif_config {
- struct virtio_caif_transf_config uplink, downlink;
- u8 reserved[8];
-};
-#endif
diff --git a/include/linux/yam.h b/include/linux/yam.h
deleted file mode 100644
index a29b04fa1e66..000000000000
--- a/include/linux/yam.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-or-later */
-/*****************************************************************************/
-
-/*
- * yam.h -- YAM radio modem driver.
- *
- * Copyright (C) 1998 Frederic Rible F1OAT (frible@teaser.fr)
- * Adapted from baycom.c driver written by Thomas Sailer (sailer@ife.ee.ethz.ch)
- *
- * Please note that the GPL allows you to use the driver, NOT the radio.
- * In order to use the radio, you need a license from the communications
- * authority of your country.
- */
-
-/*****************************************************************************/
-
-#define SIOCYAMRESERVED (0)
-#define SIOCYAMSCFG (1) /* Set configuration */
-#define SIOCYAMGCFG (2) /* Get configuration */
-#define SIOCYAMSMCS (3) /* Set mcs data */
-
-#define YAM_IOBASE (1 << 0)
-#define YAM_IRQ (1 << 1)
-#define YAM_BITRATE (1 << 2) /* Bit rate of radio port ->57600 */
-#define YAM_MODE (1 << 3) /* 0=simplex 1=duplex 2=duplex+tempo */
-#define YAM_HOLDDLY (1 << 4) /* duplex tempo (sec) */
-#define YAM_TXDELAY (1 << 5) /* Tx Delay (ms) */
-#define YAM_TXTAIL (1 << 6) /* Tx Tail (ms) */
-#define YAM_PERSIST (1 << 7) /* Persist (ms) */
-#define YAM_SLOTTIME (1 << 8) /* Slottime (ms) */
-#define YAM_BAUDRATE (1 << 9) /* Baud rate of rs232 port ->115200 */
-
-#define YAM_MAXBITRATE 57600
-#define YAM_MAXBAUDRATE 115200
-#define YAM_MAXMODE 2
-#define YAM_MAXHOLDDLY 99
-#define YAM_MAXTXDELAY 999
-#define YAM_MAXTXTAIL 999
-#define YAM_MAXPERSIST 255
-#define YAM_MAXSLOTTIME 999
-
-#define YAM_FPGA_SIZE 5302
-
-struct yamcfg {
- unsigned int mask; /* Mask of commands */
- unsigned int iobase; /* IO Base of COM port */
- unsigned int irq; /* IRQ of COM port */
- unsigned int bitrate; /* Bit rate of radio port */
- unsigned int baudrate; /* Baud rate of the RS232 port */
- unsigned int txdelay; /* TxDelay */
- unsigned int txtail; /* TxTail */
- unsigned int persist; /* Persistence */
- unsigned int slottime; /* Slottime */
- unsigned int mode; /* mode 0 (simp), 1(Dupl), 2(Dupl+delay) */
- unsigned int holddly; /* PTT delay in FullDuplex 2 mode */
-};
-
-struct yamdrv_ioctl_cfg {
- int cmd;
- struct yamcfg cfg;
-};
-
-struct yamdrv_ioctl_mcs {
- int cmd;
- unsigned int bitrate;
- unsigned char bits[YAM_FPGA_SIZE];
-};