isdn: move capi drivers to staging
authorArnd Bergmann <arnd@arndb.de>
Sat, 20 Apr 2019 20:28:45 +0000 (22:28 +0200)
committerArnd Bergmann <arnd@arndb.de>
Fri, 31 May 2019 09:17:41 +0000 (11:17 +0200)
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>
52 files changed:
MAINTAINERS
drivers/isdn/Kconfig
drivers/isdn/Makefile
drivers/isdn/capi/Kconfig
drivers/isdn/capi/Makefile
drivers/isdn/hardware/Kconfig [deleted file]
drivers/isdn/hardware/Makefile
drivers/staging/Kconfig
drivers/staging/Makefile
drivers/staging/isdn/Kconfig [new file with mode: 0644]
drivers/staging/isdn/Makefile [new file with mode: 0644]
drivers/staging/isdn/TODO [new file with mode: 0644]
drivers/staging/isdn/avm/Kconfig [moved from drivers/isdn/hardware/avm/Kconfig with 100% similarity]
drivers/staging/isdn/avm/Makefile [moved from drivers/isdn/hardware/avm/Makefile with 100% similarity]
drivers/staging/isdn/avm/avm_cs.c [moved from drivers/isdn/hardware/avm/avm_cs.c with 100% similarity]
drivers/staging/isdn/avm/avmcard.h [moved from drivers/isdn/hardware/avm/avmcard.h with 100% similarity]
drivers/staging/isdn/avm/b1.c [moved from drivers/isdn/hardware/avm/b1.c with 100% similarity]
drivers/staging/isdn/avm/b1dma.c [moved from drivers/isdn/hardware/avm/b1dma.c with 100% similarity]
drivers/staging/isdn/avm/b1isa.c [moved from drivers/isdn/hardware/avm/b1isa.c with 100% similarity]
drivers/staging/isdn/avm/b1pci.c [moved from drivers/isdn/hardware/avm/b1pci.c with 100% similarity]
drivers/staging/isdn/avm/b1pcmcia.c [moved from drivers/isdn/hardware/avm/b1pcmcia.c with 100% similarity]
drivers/staging/isdn/avm/c4.c [moved from drivers/isdn/hardware/avm/c4.c with 100% similarity]
drivers/staging/isdn/avm/t1isa.c [moved from drivers/isdn/hardware/avm/t1isa.c with 100% similarity]
drivers/staging/isdn/avm/t1pci.c [moved from drivers/isdn/hardware/avm/t1pci.c with 100% similarity]
drivers/staging/isdn/gigaset/Kconfig [moved from drivers/isdn/gigaset/Kconfig with 100% similarity]
drivers/staging/isdn/gigaset/Makefile [moved from drivers/isdn/gigaset/Makefile with 100% similarity]
drivers/staging/isdn/gigaset/asyncdata.c [moved from drivers/isdn/gigaset/asyncdata.c with 100% similarity]
drivers/staging/isdn/gigaset/bas-gigaset.c [moved from drivers/isdn/gigaset/bas-gigaset.c with 100% similarity]
drivers/staging/isdn/gigaset/capi.c [moved from drivers/isdn/gigaset/capi.c with 100% similarity]
drivers/staging/isdn/gigaset/common.c [moved from drivers/isdn/gigaset/common.c with 100% similarity]
drivers/staging/isdn/gigaset/dummyll.c [moved from drivers/isdn/gigaset/dummyll.c with 100% similarity]
drivers/staging/isdn/gigaset/ev-layer.c [moved from drivers/isdn/gigaset/ev-layer.c with 100% similarity]
drivers/staging/isdn/gigaset/gigaset.h [moved from drivers/isdn/gigaset/gigaset.h with 100% similarity]
drivers/staging/isdn/gigaset/interface.c [moved from drivers/isdn/gigaset/interface.c with 100% similarity]
drivers/staging/isdn/gigaset/isocdata.c [moved from drivers/isdn/gigaset/isocdata.c with 100% similarity]
drivers/staging/isdn/gigaset/proc.c [moved from drivers/isdn/gigaset/proc.c with 100% similarity]
drivers/staging/isdn/gigaset/ser-gigaset.c [moved from drivers/isdn/gigaset/ser-gigaset.c with 100% similarity]
drivers/staging/isdn/gigaset/usb-gigaset.c [moved from drivers/isdn/gigaset/usb-gigaset.c with 100% similarity]
drivers/staging/isdn/hysdn/Kconfig [moved from drivers/isdn/hysdn/Kconfig with 100% similarity]
drivers/staging/isdn/hysdn/Makefile [moved from drivers/isdn/hysdn/Makefile with 100% similarity]
drivers/staging/isdn/hysdn/boardergo.c [moved from drivers/isdn/hysdn/boardergo.c with 100% similarity]
drivers/staging/isdn/hysdn/boardergo.h [moved from drivers/isdn/hysdn/boardergo.h with 100% similarity]
drivers/staging/isdn/hysdn/hycapi.c [moved from drivers/isdn/hysdn/hycapi.c with 100% similarity]
drivers/staging/isdn/hysdn/hysdn_boot.c [moved from drivers/isdn/hysdn/hysdn_boot.c with 100% similarity]
drivers/staging/isdn/hysdn/hysdn_defs.h [moved from drivers/isdn/hysdn/hysdn_defs.h with 100% similarity]
drivers/staging/isdn/hysdn/hysdn_init.c [moved from drivers/isdn/hysdn/hysdn_init.c with 100% similarity]
drivers/staging/isdn/hysdn/hysdn_net.c [moved from drivers/isdn/hysdn/hysdn_net.c with 100% similarity]
drivers/staging/isdn/hysdn/hysdn_pof.h [moved from drivers/isdn/hysdn/hysdn_pof.h with 100% similarity]
drivers/staging/isdn/hysdn/hysdn_procconf.c [moved from drivers/isdn/hysdn/hysdn_procconf.c with 100% similarity]
drivers/staging/isdn/hysdn/hysdn_proclog.c [moved from drivers/isdn/hysdn/hysdn_proclog.c with 100% similarity]
drivers/staging/isdn/hysdn/hysdn_sched.c [moved from drivers/isdn/hysdn/hysdn_sched.c with 100% similarity]
drivers/staging/isdn/hysdn/ince1pc.h [moved from drivers/isdn/hysdn/ince1pc.h with 100% similarity]

index 3a761e6..2be31b1 100644 (file)
@@ -6679,9 +6679,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>
@@ -8362,15 +8360,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/
 
index 6e3bf83..be8387c 100644 (file)
@@ -21,33 +21,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
index f2a529c..63baf27 100644 (file)
@@ -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/
index 089dbee..573fea5 100644 (file)
@@ -1,4 +1,22 @@
 # SPDX-License-Identifier: GPL-2.0-only
+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
@@ -34,3 +52,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
index 06da3ed..d299f3e 100644 (file)
@@ -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
diff --git a/drivers/isdn/hardware/Kconfig b/drivers/isdn/hardware/Kconfig
deleted file mode 100644 (file)
index 0d609b5..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-#
-# ISDN hardware drivers
-#
-comment "CAPI hardware drivers"
-
-source "drivers/isdn/hardware/avm/Kconfig"
-
index a43760a..96f9eb2 100644 (file)
@@ -3,5 +3,4 @@
 
 # Object files in subdirectories
 
-obj-$(CONFIG_CAPI_AVM)         += avm/
 obj-$(CONFIG_MISDN)            += mISDN/
index d5f771f..7c96a01 100644 (file)
@@ -118,4 +118,6 @@ source "drivers/staging/fieldbus/Kconfig"
 
 source "drivers/staging/kpc2000/Kconfig"
 
+source "drivers/staging/isdn/Kconfig"
+
 endif # STAGING
index 0da0d3f..fcaac96 100644 (file)
@@ -49,3 +49,4 @@ obj-$(CONFIG_XIL_AXIS_FIFO)   += axis-fifo/
 obj-$(CONFIG_EROFS_FS)         += erofs/
 obj-$(CONFIG_FIELDBUS_DEV)     += fieldbus/
 obj-$(CONFIG_KPC2000)          += kpc2000/
+obj-$(CONFIG_ISDN_CAPI)                += isdn/
diff --git a/drivers/staging/isdn/Kconfig b/drivers/staging/isdn/Kconfig
new file mode 100644 (file)
index 0000000..faaf638
--- /dev/null
@@ -0,0 +1,12 @@
+# SPDX-License-Identifier: GPL-2.0-only
+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
+
diff --git a/drivers/staging/isdn/Makefile b/drivers/staging/isdn/Makefile
new file mode 100644 (file)
index 0000000..025504b
--- /dev/null
@@ -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/
diff --git a/drivers/staging/isdn/TODO b/drivers/staging/isdn/TODO
new file mode 100644 (file)
index 0000000..9210d11
--- /dev/null
@@ -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>