History

Merge tag 'isdn-removal' of https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground

Arnd Bergmann says: ==================== isdn: deprecate non-mISDN drivers When isdn4linux came up in the context of another patch series, I remembered that we had discussed removing it a while ago. It turns out that the suggestion from Karsten Keil wa to remove I4L in 2018 after the last public ISDN networks are shut down. This has happened now (with a very small number of exceptions), so I guess it's time to try again. We currently have three ISDN stacks in the kernel: the original isdn4linux (with the hisax driver), the newer CAPI (with four drivers), and finally the mISDN stack (supporting roughly the same hardware as hisax). As far as I can tell, anyone using ISDN with mainline kernel drivers in the past few years uses mISDN, and this is typically used for voice-only PBX installations that don't require a public network. The older stacks support additional features for data networks, but those typically make no sense any more if there is no network to connect to. My proposal for this time is to kill off isdn4linux entirely, as it seems to have been unusable for quite a while. This code has been abandoned for many years and it does cause problems for treewide maintenance as it tends to do everything that we try to stop doing. Birger Harzenetter mentioned that is is still using i4l in order to make use of the 'divert' feature that is not part of mISDN, but has otherwise moved on to mISDN for normal operation, like apparently everyone else. CAPI in turn is not quite as obsolete, but two of the drivers (avm and hysdn) don't seem to be used at all, while another one (gigaset) will stop being maintained as Paul Bolle is no longer able to test it after the network gets shut down in September. All three are now moved into drivers/staging to let others speak up in case there are remaining users. This leaves Bluetooth CMTP as the only remaining user of CAPI, but Marcel Holtmann wishes to keep maintaining it. For the discussion on version 1, see [2] Unfortunately, Karsten Keil as the maintainer has not participated in the discussion. Arnd [1] https://patchwork.kernel.org/patch/8484861/#17900371 [2] https://listserv.isdn4linux.de/pipermail/isdn4linux/2019-April/thread.html ====================

David S. Miller committed 7 years ago

Commit 8a7e8ff2 parents 57f0410 6d97985216 files · +107 −83884Browse files

Showing the changes to include/uapi/linux (5 of 216 files). Show all

Unified · Split

5 files
  1. include/uapi/linux/isdn.h +0 −144
  2. include/uapi/linux/isdn_divertif.h +0 −31
  3. include/uapi/linux/isdn_ppp.h +0 −68
  4. include/uapi/linux/isdnif.h +0 −57
  5. include/uapi/linux/wanrouter.h +0 −18
include/uapi/linux/isdn.h+0−144
@@ -1,144 +0,0 @@
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2/* $Id: isdn.h,v 1.125.2.3 2004/02/10 01:07:14 keil Exp $
3 *
4 * Main header for the Linux ISDN subsystem (linklevel).
5 *
6 * Copyright 1994,95,96 by Fritz Elfert (fritz@isdn4linux.de)
7 * Copyright 1995,96 by Thinking Objects Software GmbH Wuerzburg
8 * Copyright 1995,96 by Michael Hipp (Michael.Hipp@student.uni-tuebingen.de)
9 *
10 * This software may be used and distributed according to the terms
11 * of the GNU General Public License, incorporated herein by reference.
12 *
13 */
14
15#ifndef _UAPI__ISDN_H__
16#define _UAPI__ISDN_H__
17
18#include <linux/ioctl.h>
19#include <linux/tty.h>
20
21#define ISDN_MAX_DRIVERS 32
22#define ISDN_MAX_CHANNELS 64
23
24/* New ioctl-codes */
25#define IIOCNETAIF _IO('I',1)
26#define IIOCNETDIF _IO('I',2)
27#define IIOCNETSCF _IO('I',3)
28#define IIOCNETGCF _IO('I',4)
29#define IIOCNETANM _IO('I',5)
30#define IIOCNETDNM _IO('I',6)
31#define IIOCNETGNM _IO('I',7)
32#define IIOCGETSET _IO('I',8) /* no longer supported */
33#define IIOCSETSET _IO('I',9) /* no longer supported */
34#define IIOCSETVER _IO('I',10)
35#define IIOCNETHUP _IO('I',11)
36#define IIOCSETGST _IO('I',12)
37#define IIOCSETBRJ _IO('I',13)
38#define IIOCSIGPRF _IO('I',14)
39#define IIOCGETPRF _IO('I',15)
40#define IIOCSETPRF _IO('I',16)
41#define IIOCGETMAP _IO('I',17)
42#define IIOCSETMAP _IO('I',18)
43#define IIOCNETASL _IO('I',19)
44#define IIOCNETDIL _IO('I',20)
45#define IIOCGETCPS _IO('I',21)
46#define IIOCGETDVR _IO('I',22)
47#define IIOCNETLCR _IO('I',23) /* dwabc ioctl for LCR from isdnlog */
48#define IIOCNETDWRSET _IO('I',24) /* dwabc ioctl to reset abc-values to default on a net-interface */
49
50#define IIOCNETALN _IO('I',32)
51#define IIOCNETDLN _IO('I',33)
52
53#define IIOCNETGPN _IO('I',34)
54
55#define IIOCDBGVAR _IO('I',127)
56
57#define IIOCDRVCTL _IO('I',128)
58
59/* cisco hdlck device private ioctls */
60#define SIOCGKEEPPERIOD (SIOCDEVPRIVATE + 0)
61#define SIOCSKEEPPERIOD (SIOCDEVPRIVATE + 1)
62#define SIOCGDEBSERINT (SIOCDEVPRIVATE + 2)
63#define SIOCSDEBSERINT (SIOCDEVPRIVATE + 3)
64
65/* Packet encapsulations for net-interfaces */
66#define ISDN_NET_ENCAP_ETHER 0
67#define ISDN_NET_ENCAP_RAWIP 1
68#define ISDN_NET_ENCAP_IPTYP 2
69#define ISDN_NET_ENCAP_CISCOHDLC 3 /* Without SLARP and keepalive */
70#define ISDN_NET_ENCAP_SYNCPPP 4
71#define ISDN_NET_ENCAP_UIHDLC 5
72#define ISDN_NET_ENCAP_CISCOHDLCK 6 /* With SLARP and keepalive */
73#define ISDN_NET_ENCAP_X25IFACE 7 /* Documentation/networking/x25-iface.txt */
74#define ISDN_NET_ENCAP_MAX_ENCAP ISDN_NET_ENCAP_X25IFACE
75
76/* Facility which currently uses an ISDN-channel */
77#define ISDN_USAGE_NONE 0
78#define ISDN_USAGE_RAW 1
79#define ISDN_USAGE_MODEM 2
80#define ISDN_USAGE_NET 3
81#define ISDN_USAGE_VOICE 4
82#define ISDN_USAGE_FAX 5
83#define ISDN_USAGE_MASK 7 /* Mask to get plain usage */
84#define ISDN_USAGE_DISABLED 32 /* This bit is set, if channel is disabled */
85#define ISDN_USAGE_EXCLUSIVE 64 /* This bit is set, if channel is exclusive */
86#define ISDN_USAGE_OUTGOING 128 /* This bit is set, if channel is outgoing */
87
88#define ISDN_MODEM_NUMREG 24 /* Number of Modem-Registers */
89#define ISDN_LMSNLEN 255 /* Length of tty's Listen-MSN string */
90#define ISDN_CMSGLEN 50 /* Length of CONNECT-Message to add for Modem */
91
92#define ISDN_MSNLEN 32
93#define NET_DV 0x06 /* Data version for isdn_net_ioctl_cfg */
94#define TTY_DV 0x06 /* Data version for iprofd etc. */
95
96#define INF_DV 0x01 /* Data version for /dev/isdninfo */
97
98typedef struct {
99 char drvid[25];
100 unsigned long arg;
101} isdn_ioctl_struct;
102
103typedef struct {
104 char name[10];
105 char phone[ISDN_MSNLEN];
106 int outgoing;
107} isdn_net_ioctl_phone;
108
109typedef struct {
110 char name[10]; /* Name of interface */
111 char master[10]; /* Name of Master for Bundling */
112 char slave[10]; /* Name of Slave for Bundling */
113 char eaz[256]; /* EAZ/MSN */
114 char drvid[25]; /* DriverId for Bindings */
115 int onhtime; /* Hangup-Timeout */
116 int charge; /* Charge-Units */
117 int l2_proto; /* Layer-2 protocol */
118 int l3_proto; /* Layer-3 protocol */
119 int p_encap; /* Encapsulation */
120 int exclusive; /* Channel, if bound exclusive */
121 int dialmax; /* Dial Retry-Counter */
122 int slavedelay; /* Delay until slave starts up */
123 int cbdelay; /* Delay before Callback */
124 int chargehup; /* Flag: Charge-Hangup */
125 int ihup; /* Flag: Hangup-Timeout on incoming line */
126 int secure; /* Flag: Secure */
127 int callback; /* Flag: Callback */
128 int cbhup; /* Flag: Reject Call before Callback */
129 int pppbind; /* ippp device for bindings */
130 int chargeint; /* Use fixed charge interval length */
131 int triggercps; /* BogoCPS needed for triggering slave */
132 int dialtimeout; /* Dial-Timeout */
133 int dialwait; /* Time to wait after failed dial */
134 int dialmode; /* Flag: off / on / auto */
135} isdn_net_ioctl_cfg;
136
137#define ISDN_NET_DIALMODE_MASK 0xC0 /* bits for status */
138#define ISDN_NET_DM_OFF 0x00 /* this interface is stopped */
139#define ISDN_NET_DM_MANUAL 0x40 /* this interface is on (manual) */
140#define ISDN_NET_DM_AUTO 0x80 /* this interface is autodial */
141#define ISDN_NET_DIALMODE(x) ((&(x))->flags & ISDN_NET_DIALMODE_MASK)
142
143
144#endif /* _UAPI__ISDN_H__ */
include/uapi/linux/isdn_divertif.h+0−31
@@ -1,31 +0,0 @@
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2/* $Id: isdn_divertif.h,v 1.4.6.1 2001/09/23 22:25:05 kai Exp $
3 *
4 * Header for the diversion supplementary interface for i4l.
5 *
6 * Author Werner Cornelius (werner@titro.de)
7 * Copyright by Werner Cornelius (werner@titro.de)
8 *
9 * This software may be used and distributed according to the terms
10 * of the GNU General Public License, incorporated herein by reference.
11 *
12 */
13
14#ifndef _UAPI_LINUX_ISDN_DIVERTIF_H
15#define _UAPI_LINUX_ISDN_DIVERTIF_H
16
17/***********************************************************/
18/* magic value is also used to control version information */
19/***********************************************************/
20#define DIVERT_IF_MAGIC 0x25873401
21#define DIVERT_CMD_REG 0x00 /* register command */
22#define DIVERT_CMD_REL 0x01 /* release command */
23#define DIVERT_NO_ERR 0x00 /* return value no error */
24#define DIVERT_CMD_ERR 0x01 /* invalid cmd */
25#define DIVERT_VER_ERR 0x02 /* magic/version invalid */
26#define DIVERT_REG_ERR 0x03 /* module already registered */
27#define DIVERT_REL_ERR 0x04 /* module not registered */
28#define DIVERT_REG_NAME isdn_register_divert
29
30
31#endif /* _UAPI_LINUX_ISDN_DIVERTIF_H */
include/uapi/linux/isdn_ppp.h+0−68
@@ -1,68 +0,0 @@
1/* SPDX-License-Identifier: GPL-1.0+ WITH Linux-syscall-note */
2/* Linux ISDN subsystem, sync PPP, interface to ipppd
3 *
4 * Copyright 1994-1999 by Fritz Elfert (fritz@isdn4linux.de)
5 * Copyright 1995,96 Thinking Objects Software GmbH Wuerzburg
6 * Copyright 1995,96 by Michael Hipp (Michael.Hipp@student.uni-tuebingen.de)
7 * Copyright 2000-2002 by Kai Germaschewski (kai@germaschewski.name)
8 *
9 * This software may be used and distributed according to the terms
10 * of the GNU General Public License, incorporated herein by reference.
11 *
12 */
13
14#ifndef _UAPI_LINUX_ISDN_PPP_H
15#define _UAPI_LINUX_ISDN_PPP_H
16
17#define CALLTYPE_INCOMING 0x1
18#define CALLTYPE_OUTGOING 0x2
19#define CALLTYPE_CALLBACK 0x4
20
21#define IPPP_VERSION "2.2.0"
22
23struct pppcallinfo
24{
25 int calltype;
26 unsigned char local_num[64];
27 unsigned char remote_num[64];
28 int charge_units;
29};
30
31#define PPPIOCGCALLINFO _IOWR('t',128,struct pppcallinfo)
32#define PPPIOCBUNDLE _IOW('t',129,int)
33#define PPPIOCGMPFLAGS _IOR('t',130,int)
34#define PPPIOCSMPFLAGS _IOW('t',131,int)
35#define PPPIOCSMPMTU _IOW('t',132,int)
36#define PPPIOCSMPMRU _IOW('t',133,int)
37#define PPPIOCGCOMPRESSORS _IOR('t',134,unsigned long [8])
38#define PPPIOCSCOMPRESSOR _IOW('t',135,int)
39#define PPPIOCGIFNAME _IOR('t',136, char [IFNAMSIZ] )
40
41
42#define SC_MP_PROT 0x00000200
43#define SC_REJ_MP_PROT 0x00000400
44#define SC_OUT_SHORT_SEQ 0x00000800
45#define SC_IN_SHORT_SEQ 0x00004000
46
47#define SC_DECOMP_ON 0x01
48#define SC_COMP_ON 0x02
49#define SC_DECOMP_DISCARD 0x04
50#define SC_COMP_DISCARD 0x08
51#define SC_LINK_DECOMP_ON 0x10
52#define SC_LINK_COMP_ON 0x20
53#define SC_LINK_DECOMP_DISCARD 0x40
54#define SC_LINK_COMP_DISCARD 0x80
55
56#define ISDN_PPP_COMP_MAX_OPTIONS 16
57
58#define IPPP_COMP_FLAG_XMIT 0x1
59#define IPPP_COMP_FLAG_LINK 0x2
60
61struct isdn_ppp_comp_data {
62 int num;
63 unsigned char options[ISDN_PPP_COMP_MAX_OPTIONS];
64 int optlen;
65 int flags;
66};
67
68#endif /* _UAPI_LINUX_ISDN_PPP_H */
include/uapi/linux/isdnif.h+0−57
@@ -1,57 +0,0 @@
1/* SPDX-License-Identifier: GPL-1.0+ WITH Linux-syscall-note */
2/* $Id: isdnif.h,v 1.43.2.2 2004/01/12 23:08:35 keil Exp $
3 *
4 * Linux ISDN subsystem
5 * Definition of the interface between the subsystem and its low-level drivers.
6 *
7 * Copyright 1994,95,96 by Fritz Elfert (fritz@isdn4linux.de)
8 * Copyright 1995,96 Thinking Objects Software GmbH Wuerzburg
9 *
10 * This software may be used and distributed according to the terms
11 * of the GNU General Public License, incorporated herein by reference.
12 *
13 */
14
15#ifndef _UAPI__ISDNIF_H__
16#define _UAPI__ISDNIF_H__
17
18
19/*
20 * Values for general protocol-selection
21 */
22#define ISDN_PTYPE_UNKNOWN 0 /* Protocol undefined */
23#define ISDN_PTYPE_1TR6 1 /* german 1TR6-protocol */
24#define ISDN_PTYPE_EURO 2 /* EDSS1-protocol */
25#define ISDN_PTYPE_LEASED 3 /* for leased lines */
26#define ISDN_PTYPE_NI1 4 /* US NI-1 protocol */
27#define ISDN_PTYPE_MAX 7 /* Max. 8 Protocols */
28
29/*
30 * Values for Layer-2-protocol-selection
31 */
32#define ISDN_PROTO_L2_X75I 0 /* X75/LAPB with I-Frames */
33#define ISDN_PROTO_L2_X75UI 1 /* X75/LAPB with UI-Frames */
34#define ISDN_PROTO_L2_X75BUI 2 /* X75/LAPB with UI-Frames */
35#define ISDN_PROTO_L2_HDLC 3 /* HDLC */
36#define ISDN_PROTO_L2_TRANS 4 /* Transparent (Voice) */
37#define ISDN_PROTO_L2_X25DTE 5 /* X25/LAPB DTE mode */
38#define ISDN_PROTO_L2_X25DCE 6 /* X25/LAPB DCE mode */
39#define ISDN_PROTO_L2_V11096 7 /* V.110 bitrate adaption 9600 Baud */
40#define ISDN_PROTO_L2_V11019 8 /* V.110 bitrate adaption 19200 Baud */
41#define ISDN_PROTO_L2_V11038 9 /* V.110 bitrate adaption 38400 Baud */
42#define ISDN_PROTO_L2_MODEM 10 /* Analog Modem on Board */
43#define ISDN_PROTO_L2_FAX 11 /* Fax Group 2/3 */
44#define ISDN_PROTO_L2_HDLC_56K 12 /* HDLC 56k */
45#define ISDN_PROTO_L2_MAX 15 /* Max. 16 Protocols */
46
47/*
48 * Values for Layer-3-protocol-selection
49 */
50#define ISDN_PROTO_L3_TRANS 0 /* Transparent */
51#define ISDN_PROTO_L3_TRANSDSP 1 /* Transparent with DSP */
52#define ISDN_PROTO_L3_FCLASS2 2 /* Fax Group 2/3 CLASS 2 */
53#define ISDN_PROTO_L3_FCLASS1 3 /* Fax Group 2/3 CLASS 1 */
54#define ISDN_PROTO_L3_MAX 7 /* Max. 8 Protocols */
55
56
57#endif /* _UAPI__ISDNIF_H__ */
include/uapi/linux/wanrouter.h+0−18
@@ -1,18 +0,0 @@
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2/*
3 * wanrouter.h Legacy declarations kept around until X25 is removed
4 */
5
6#ifndef _UAPI_ROUTER_H
7#define _UAPI_ROUTER_H
8
9/* 'state' defines */
10enum wan_states
11{
12 WAN_UNCONFIGURED, /* link/channel is not configured */
13 WAN_DISCONNECTED, /* link/channel is disconnected */
14 WAN_CONNECTING, /* connection is in progress */
15 WAN_CONNECTED /* link/channel is operational */
16};
17
18#endif /* _UAPI_ROUTER_H */