@@ -6560,9 +6560,7 @@ M: Paul Bolle <pebolle@tiscali.nl>
L: gigaset307x-common@lists.sourceforge.net
W: http://gigaset307x.sourceforge.net/
S: Odd Fixes
-F: Documentation/isdn/README.gigaset
-F: drivers/isdn/gigaset/
-F: include/uapi/linux/gigaset_dev.h
+F: drivers/staging/isdn/gigaset/
GNSS SUBSYSTEM
M: Johan Hovold <johan@kernel.org>
@@ -8239,15 +8237,25 @@ S: Supported
W: http://www.linux-iscsi.org
F: drivers/infiniband/ulp/isert
-ISDN SUBSYSTEM
+ISDN/mISDN SUBSYSTEM
M: Karsten Keil <isdn@linux-pingi.de>
L: isdn4linux@listserv.isdn4linux.de (subscribers-only)
L: netdev@vger.kernel.org
W: http://www.isdn4linux.de
-T: git git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/isdn-2.6.git
S: Maintained
+F: drivers/isdn/mISDN
+F: drivers/isdn/hardware
+
+ISDN/CAPI SUBSYSTEM
+M: Karsten Keil <isdn@linux-pingi.de>
+L: isdn4linux@listserv.isdn4linux.de (subscribers-only)
+L: netdev@vger.kernel.org
+W: http://www.isdn4linux.de
+S: Odd Fixes
F: Documentation/isdn/
-F: drivers/isdn/
+F: drivers/isdn/capi/
+F: drivers/staging/isdn/
+F: net/bluetooth/cmtp/
F: include/linux/isdn/
F: include/uapi/linux/isdn/
@@ -20,33 +20,8 @@ menuconfig ISDN
if ISDN
-menuconfig ISDN_CAPI
- tristate "CAPI 2.0 subsystem"
- help
- This provides CAPI (the Common ISDN Application Programming
- Interface) Version 2.0, a standard making it easy for programs to
- access ISDN hardware in a device independent way. (For details see
- <http://www.capi.org/>.) CAPI supports making and accepting voice
- and data connections, controlling call options and protocols,
- as well as ISDN supplementary services like call forwarding or
- three-party conferences (if supported by the specific hardware
- driver).
-
- Select this option and the appropriate hardware driver below if
- you have an ISDN adapter supported by the CAPI subsystem.
-
-if ISDN_CAPI
-
source "drivers/isdn/capi/Kconfig"
-source "drivers/isdn/hardware/Kconfig"
-
-endif # ISDN_CAPI
-
-source "drivers/isdn/gigaset/Kconfig"
-
-source "drivers/isdn/hysdn/Kconfig"
-
source "drivers/isdn/mISDN/Kconfig"
endif # ISDN
@@ -6,5 +6,3 @@
obj-$(CONFIG_ISDN_CAPI) += capi/
obj-$(CONFIG_MISDN) += mISDN/
obj-$(CONFIG_ISDN) += hardware/
-obj-$(CONFIG_HYSDN) += hysdn/
-obj-$(CONFIG_ISDN_DRV_GIGASET) += gigaset/
@@ -1,3 +1,21 @@
+menuconfig ISDN_CAPI
+ tristate "CAPI 2.0 subsystem"
+ help
+ This provides CAPI (the Common ISDN Application Programming
+ Interface) Version 2.0, a standard making it easy for programs to
+ access ISDN hardware in a device independent way. (For details see
+ <http://www.capi.org/>.) CAPI supports making and accepting voice
+ and data connections, controlling call options and protocols,
+ as well as ISDN supplementary services like call forwarding or
+ three-party conferences (if supported by the specific hardware
+ driver).
+
+ This subsystem requires a hardware specific driver.
+ See CONFIG_BT_CMTP for the last remaining regular driver
+ in the kernel that uses the CAPI subsystem.
+
+if ISDN_CAPI
+
config CAPI_TRACE
bool "CAPI trace support"
default y
@@ -33,3 +51,5 @@ config ISDN_CAPI_CAPIDRV_VERBOSE
If you say Y here, the capidrv interface will give verbose reasons
for disconnecting. This will increase the size of the kernel by 7 KB.
If unsure, say N.
+
+endif
@@ -13,3 +13,5 @@ obj-$(CONFIG_ISDN_CAPI_CAPIDRV) += capidrv.o
kernelcapi-y := kcapi.o capiutil.o capilib.o
kernelcapi-$(CONFIG_PROC_FS) += kcapi_proc.o
+
+ccflags-y += -I$(srctree)/$(src)/../include -I$(srctree)/$(src)/../include/uapi
deleted file mode 100644
@@ -2,5 +2,4 @@
# Object files in subdirectories
-obj-$(CONFIG_CAPI_AVM) += avm/
obj-$(CONFIG_MISDN) += mISDN/
@@ -122,4 +122,6 @@ source "drivers/staging/axis-fifo/Kconfig"
source "drivers/staging/erofs/Kconfig"
+source "drivers/staging/isdn/Kconfig"
+
endif # STAGING
@@ -51,3 +51,4 @@ obj-$(CONFIG_SOC_MT7621) += mt7621-dts/
obj-$(CONFIG_STAGING_GASKET_FRAMEWORK) += gasket/
obj-$(CONFIG_XIL_AXIS_FIFO) += axis-fifo/
obj-$(CONFIG_EROFS_FS) += erofs/
+obj-$(CONFIG_ISDN_CAPI) += isdn/
new file mode 100644
@@ -0,0 +1,11 @@
+menu "ISDN CAPI drivers"
+ depends on ISDN_CAPI
+
+source "drivers/staging/isdn/avm/Kconfig"
+
+source "drivers/staging/isdn/gigaset/Kconfig"
+
+source "drivers/staging/isdn/hysdn/Kconfig"
+
+endmenu
+
new file mode 100644
@@ -0,0 +1,8 @@
+# SPDX-License-Identifier: GPL-2.0
+# Makefile for the kernel ISDN subsystem and device drivers.
+
+# Object files in subdirectories
+
+obj-$(CONFIG_CAPI_AVM) += avm/
+obj-$(CONFIG_HYSDN) += hysdn/
+obj-$(CONFIG_ISDN_DRV_GIGASET) += gigaset/
new file mode 100644
@@ -0,0 +1,22 @@
+TODO: Remove in late 2019 unless there are users
+
+
+I tried to find any indication of whether the capi drivers are
+still in use, and have not found anything from a long time ago.
+
+With public ISDN networks almost completely shut down over the past 12
+months, there is very little you can actually do with this hardware. The
+main remaining use case would be to connect ISDN voice phones to an
+in-house installation with Asterisk or LCR, but anyone trying this in
+turn seems to be using either the mISDN driver stack, or out-of-tree
+drivers from the hardware vendors.
+
+I may of course have missed something, so I would suggest moving
+these into drivers/staging/ just in case someone still uses one
+of the three remaining in-kernel drivers (avm, hysdn, gigaset).
+
+If nobody complains, we can remove them entirely in six months,
+or otherwise move the core code and any drivers that are still
+needed back into drivers/isdn.
+
+ Arnd Bergmann <arnd@arndb.de>
similarity index 100%
rename from drivers/isdn/hardware/avm/Kconfig
rename to drivers/staging/isdn/avm/Kconfig
similarity index 100%
rename from drivers/isdn/hardware/avm/Makefile
rename to drivers/staging/isdn/avm/Makefile
similarity index 100%
rename from drivers/isdn/hardware/avm/avm_cs.c
rename to drivers/staging/isdn/avm/avm_cs.c
similarity index 100%
rename from drivers/isdn/hardware/avm/avmcard.h
rename to drivers/staging/isdn/avm/avmcard.h
similarity index 100%
rename from drivers/isdn/hardware/avm/b1.c
rename to drivers/staging/isdn/avm/b1.c
similarity index 100%
rename from drivers/isdn/hardware/avm/b1dma.c
rename to drivers/staging/isdn/avm/b1dma.c
similarity index 100%
rename from drivers/isdn/hardware/avm/b1isa.c
rename to drivers/staging/isdn/avm/b1isa.c
similarity index 100%
rename from drivers/isdn/hardware/avm/b1pci.c
rename to drivers/staging/isdn/avm/b1pci.c
similarity index 100%
rename from drivers/isdn/hardware/avm/b1pcmcia.c
rename to drivers/staging/isdn/avm/b1pcmcia.c
similarity index 100%
rename from drivers/isdn/hardware/avm/c4.c
rename to drivers/staging/isdn/avm/c4.c
similarity index 100%
rename from drivers/isdn/hardware/avm/t1isa.c
rename to drivers/staging/isdn/avm/t1isa.c
similarity index 100%
rename from drivers/isdn/hardware/avm/t1pci.c
rename to drivers/staging/isdn/avm/t1pci.c
similarity index 100%
rename from drivers/isdn/gigaset/Kconfig
rename to drivers/staging/isdn/gigaset/Kconfig
similarity index 100%
rename from drivers/isdn/gigaset/Makefile
rename to drivers/staging/isdn/gigaset/Makefile
similarity index 100%
rename from drivers/isdn/gigaset/asyncdata.c
rename to drivers/staging/isdn/gigaset/asyncdata.c
similarity index 100%
rename from drivers/isdn/gigaset/bas-gigaset.c
rename to drivers/staging/isdn/gigaset/bas-gigaset.c
similarity index 100%
rename from drivers/isdn/gigaset/capi.c
rename to drivers/staging/isdn/gigaset/capi.c
similarity index 100%
rename from drivers/isdn/gigaset/common.c
rename to drivers/staging/isdn/gigaset/common.c
similarity index 100%
rename from drivers/isdn/gigaset/dummyll.c
rename to drivers/staging/isdn/gigaset/dummyll.c
similarity index 100%
rename from drivers/isdn/gigaset/ev-layer.c
rename to drivers/staging/isdn/gigaset/ev-layer.c
similarity index 100%
rename from drivers/isdn/gigaset/gigaset.h
rename to drivers/staging/isdn/gigaset/gigaset.h
similarity index 100%
rename from drivers/isdn/gigaset/interface.c
rename to drivers/staging/isdn/gigaset/interface.c
similarity index 100%
rename from drivers/isdn/gigaset/isocdata.c
rename to drivers/staging/isdn/gigaset/isocdata.c
similarity index 100%
rename from drivers/isdn/gigaset/proc.c
rename to drivers/staging/isdn/gigaset/proc.c
similarity index 100%
rename from drivers/isdn/gigaset/ser-gigaset.c
rename to drivers/staging/isdn/gigaset/ser-gigaset.c
similarity index 100%
rename from drivers/isdn/gigaset/usb-gigaset.c
rename to drivers/staging/isdn/gigaset/usb-gigaset.c
similarity index 100%
rename from drivers/isdn/hysdn/Kconfig
rename to drivers/staging/isdn/hysdn/Kconfig
similarity index 100%
rename from drivers/isdn/hysdn/Makefile
rename to drivers/staging/isdn/hysdn/Makefile
similarity index 100%
rename from drivers/isdn/hysdn/boardergo.c
rename to drivers/staging/isdn/hysdn/boardergo.c
similarity index 100%
rename from drivers/isdn/hysdn/boardergo.h
rename to drivers/staging/isdn/hysdn/boardergo.h
similarity index 100%
rename from drivers/isdn/hysdn/hycapi.c
rename to drivers/staging/isdn/hysdn/hycapi.c
similarity index 100%
rename from drivers/isdn/hysdn/hysdn_boot.c
rename to drivers/staging/isdn/hysdn/hysdn_boot.c
similarity index 100%
rename from drivers/isdn/hysdn/hysdn_defs.h
rename to drivers/staging/isdn/hysdn/hysdn_defs.h
similarity index 100%
rename from drivers/isdn/hysdn/hysdn_init.c
rename to drivers/staging/isdn/hysdn/hysdn_init.c
similarity index 100%
rename from drivers/isdn/hysdn/hysdn_net.c
rename to drivers/staging/isdn/hysdn/hysdn_net.c
similarity index 100%
rename from drivers/isdn/hysdn/hysdn_pof.h
rename to drivers/staging/isdn/hysdn/hysdn_pof.h
similarity index 100%
rename from drivers/isdn/hysdn/hysdn_procconf.c
rename to drivers/staging/isdn/hysdn/hysdn_procconf.c
similarity index 100%
rename from drivers/isdn/hysdn/hysdn_proclog.c
rename to drivers/staging/isdn/hysdn/hysdn_proclog.c
similarity index 100%
rename from drivers/isdn/hysdn/hysdn_sched.c
rename to drivers/staging/isdn/hysdn/hysdn_sched.c
similarity index 100%
rename from drivers/isdn/hysdn/ince1pc.h
rename to drivers/staging/isdn/hysdn/ince1pc.h
I tried to find any indication of whether the capi drivers are still in use, and have not found anything from a long time ago. With public ISDN networks almost completely shut down over the past 12 months, there is very little you can actually do with this hardware. The main remaining use case would be to connect ISDN voice phones to an in-house installation with Asterisk or LCR, but anyone trying this in turn seems to be using either the mISDN driver stack, or out-of-tree drivers from the hardware vendors. I may of course have missed something, so I would suggest moving these three drivers (avm, hysdn, gigaset) into drivers/staging/ just in case someone still uses them. If nobody complains, we can remove them entirely in six months, or otherwise move the core code and any drivers that are still needed back into drivers/isdn. As Paul Bolle notes, he is still testing the gigaset driver as long as he can, but the Dutch ISDN network will be shut down in September 2019, which puts an end to that. Marcel Holtmann still maintains the Bluetooth CMTP profile and wants to keep that alive, so the actual CAPI subsystem code remains in place for now, after all other drivers are gone, CMTP and CAPI can be merged into a single driver directory. Cc: Marcel Holtmann <marcel@holtmann.org> Cc: Paul Bolle <pebolle@tiscali.nl> Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- MAINTAINERS | 20 ++++++++++----- drivers/isdn/Kconfig | 25 ------------------- drivers/isdn/Makefile | 2 -- drivers/isdn/capi/Kconfig | 20 +++++++++++++++ drivers/isdn/capi/Makefile | 2 ++ drivers/isdn/hardware/Kconfig | 7 ------ drivers/isdn/hardware/Makefile | 1 - drivers/staging/Kconfig | 2 ++ drivers/staging/Makefile | 1 + drivers/staging/isdn/Kconfig | 11 ++++++++ drivers/staging/isdn/Makefile | 8 ++++++ drivers/staging/isdn/TODO | 22 ++++++++++++++++ .../hardware => staging/isdn}/avm/Kconfig | 0 .../hardware => staging/isdn}/avm/Makefile | 0 .../hardware => staging/isdn}/avm/avm_cs.c | 0 .../hardware => staging/isdn}/avm/avmcard.h | 0 .../{isdn/hardware => staging/isdn}/avm/b1.c | 0 .../hardware => staging/isdn}/avm/b1dma.c | 0 .../hardware => staging/isdn}/avm/b1isa.c | 0 .../hardware => staging/isdn}/avm/b1pci.c | 0 .../hardware => staging/isdn}/avm/b1pcmcia.c | 0 .../{isdn/hardware => staging/isdn}/avm/c4.c | 0 .../hardware => staging/isdn}/avm/t1isa.c | 0 .../hardware => staging/isdn}/avm/t1pci.c | 0 drivers/{ => staging}/isdn/gigaset/Kconfig | 0 drivers/{ => staging}/isdn/gigaset/Makefile | 0 .../{ => staging}/isdn/gigaset/asyncdata.c | 0 .../{ => staging}/isdn/gigaset/bas-gigaset.c | 0 drivers/{ => staging}/isdn/gigaset/capi.c | 0 drivers/{ => staging}/isdn/gigaset/common.c | 0 drivers/{ => staging}/isdn/gigaset/dummyll.c | 0 drivers/{ => staging}/isdn/gigaset/ev-layer.c | 0 drivers/{ => staging}/isdn/gigaset/gigaset.h | 0 .../{ => staging}/isdn/gigaset/interface.c | 0 drivers/{ => staging}/isdn/gigaset/isocdata.c | 0 drivers/{ => staging}/isdn/gigaset/proc.c | 0 .../{ => staging}/isdn/gigaset/ser-gigaset.c | 0 .../{ => staging}/isdn/gigaset/usb-gigaset.c | 0 drivers/{ => staging}/isdn/hysdn/Kconfig | 0 drivers/{ => staging}/isdn/hysdn/Makefile | 0 drivers/{ => staging}/isdn/hysdn/boardergo.c | 0 drivers/{ => staging}/isdn/hysdn/boardergo.h | 0 drivers/{ => staging}/isdn/hysdn/hycapi.c | 0 drivers/{ => staging}/isdn/hysdn/hysdn_boot.c | 0 drivers/{ => staging}/isdn/hysdn/hysdn_defs.h | 0 drivers/{ => staging}/isdn/hysdn/hysdn_init.c | 0 drivers/{ => staging}/isdn/hysdn/hysdn_net.c | 0 drivers/{ => staging}/isdn/hysdn/hysdn_pof.h | 0 .../{ => staging}/isdn/hysdn/hysdn_procconf.c | 0 .../{ => staging}/isdn/hysdn/hysdn_proclog.c | 0 .../{ => staging}/isdn/hysdn/hysdn_sched.c | 0 drivers/{ => staging}/isdn/hysdn/ince1pc.h | 0 52 files changed, 80 insertions(+), 41 deletions(-) delete mode 100644 drivers/isdn/hardware/Kconfig create mode 100644 drivers/staging/isdn/Kconfig create mode 100644 drivers/staging/isdn/Makefile create mode 100644 drivers/staging/isdn/TODO rename drivers/{isdn/hardware => staging/isdn}/avm/Kconfig (100%) rename drivers/{isdn/hardware => staging/isdn}/avm/Makefile (100%) rename drivers/{isdn/hardware => staging/isdn}/avm/avm_cs.c (100%) rename drivers/{isdn/hardware => staging/isdn}/avm/avmcard.h (100%) rename drivers/{isdn/hardware => staging/isdn}/avm/b1.c (100%) rename drivers/{isdn/hardware => staging/isdn}/avm/b1dma.c (100%) rename drivers/{isdn/hardware => staging/isdn}/avm/b1isa.c (100%) rename drivers/{isdn/hardware => staging/isdn}/avm/b1pci.c (100%) rename drivers/{isdn/hardware => staging/isdn}/avm/b1pcmcia.c (100%) rename drivers/{isdn/hardware => staging/isdn}/avm/c4.c (100%) rename drivers/{isdn/hardware => staging/isdn}/avm/t1isa.c (100%) rename drivers/{isdn/hardware => staging/isdn}/avm/t1pci.c (100%) rename drivers/{ => staging}/isdn/gigaset/Kconfig (100%) rename drivers/{ => staging}/isdn/gigaset/Makefile (100%) rename drivers/{ => staging}/isdn/gigaset/asyncdata.c (100%) rename drivers/{ => staging}/isdn/gigaset/bas-gigaset.c (100%) rename drivers/{ => staging}/isdn/gigaset/capi.c (100%) rename drivers/{ => staging}/isdn/gigaset/common.c (100%) rename drivers/{ => staging}/isdn/gigaset/dummyll.c (100%) rename drivers/{ => staging}/isdn/gigaset/ev-layer.c (100%) rename drivers/{ => staging}/isdn/gigaset/gigaset.h (100%) rename drivers/{ => staging}/isdn/gigaset/interface.c (100%) rename drivers/{ => staging}/isdn/gigaset/isocdata.c (100%) rename drivers/{ => staging}/isdn/gigaset/proc.c (100%) rename drivers/{ => staging}/isdn/gigaset/ser-gigaset.c (100%) rename drivers/{ => staging}/isdn/gigaset/usb-gigaset.c (100%) rename drivers/{ => staging}/isdn/hysdn/Kconfig (100%) rename drivers/{ => staging}/isdn/hysdn/Makefile (100%) rename drivers/{ => staging}/isdn/hysdn/boardergo.c (100%) rename drivers/{ => staging}/isdn/hysdn/boardergo.h (100%) rename drivers/{ => staging}/isdn/hysdn/hycapi.c (100%) rename drivers/{ => staging}/isdn/hysdn/hysdn_boot.c (100%) rename drivers/{ => staging}/isdn/hysdn/hysdn_defs.h (100%) rename drivers/{ => staging}/isdn/hysdn/hysdn_init.c (100%) rename drivers/{ => staging}/isdn/hysdn/hysdn_net.c (100%) rename drivers/{ => staging}/isdn/hysdn/hysdn_pof.h (100%) rename drivers/{ => staging}/isdn/hysdn/hysdn_procconf.c (100%) rename drivers/{ => staging}/isdn/hysdn/hysdn_proclog.c (100%) rename drivers/{ => staging}/isdn/hysdn/hysdn_sched.c (100%) rename drivers/{ => staging}/isdn/hysdn/ince1pc.h (100%) -- 2.20.0