]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
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 3a761e680296fe47e1364358a8dca655ef19328a..2be31b13d2955b0ee7ae98e828d7f3c0b9ab5d79 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 6e3bf833c67ea22520de49af4627d456818e9f6e..be8387c0eeef83fefa399e39ad27e69b556f0d81 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 f2a529c5a51139b9bc845d660182c9c9b08ef1b5..63baf27a2c796d93e6cc4895e3a1d9d747d53bfd 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 089dbee18f36dc4800ce0787d32ea890c08c6afd..573fea5500ce95c17d2cce134cbe449b66a7aaac 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 06da3ed2c40ab18e3f884e1d03767bf4f6b5e9d3..d299f3e75f895bfafbaf969773bfe9eb6acda442 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 a43760a0a4f5f0b819d62816d6bd54b77cd9b889..96f9eb2e46bad51f3e529b6beff768ba1496bc66 100644 (file)
@@ -3,5 +3,4 @@
 
 # Object files in subdirectories
 
-obj-$(CONFIG_CAPI_AVM)         += avm/
 obj-$(CONFIG_MISDN)            += mISDN/
index d5f771fafc2172291242aeb4eff25c8b28eb7593..7c96a01eef6c714f390816c18d6916aaaddaa721 100644 (file)
@@ -118,4 +118,6 @@ source "drivers/staging/fieldbus/Kconfig"
 
 source "drivers/staging/kpc2000/Kconfig"
 
+source "drivers/staging/isdn/Kconfig"
+
 endif # STAGING
index 0da0d3f0b5e4bec143513d824749eed9983e4a3a..fcaac9693b8312d45d21667660c7f958a5c2a734 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>