diff mbox series

[5/5] isdn: move capi drivers to staging

Message ID 20190423151143.464992-6-arnd@arndb.de
State New
Headers show
Series None | expand

Commit Message

Arnd Bergmann April 23, 2019, 3:11 p.m. UTC
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.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

---
 MAINTAINERS                                   | 16 +++++++----
 drivers/isdn/Kconfig                          | 27 ------------------
 drivers/isdn/Makefile                         |  3 --
 drivers/isdn/hardware/Makefile                |  1 -
 drivers/staging/Kconfig                       |  2 ++
 drivers/staging/Makefile                      |  1 +
 .../staging/isdn/Documentation}/CREDITS       |  0
 .../isdn/Documentation}/INTERFACE.CAPI        |  0
 .../staging/isdn/Documentation}/README.avmb1  |  0
 .../isdn/Documentation}/README.gigaset        |  0
 .../staging/isdn/Documentation}/README.hysdn  |  0
 drivers/staging/isdn/Kconfig                  | 28 +++++++++++++++++++
 drivers/staging/isdn/Makefile                 |  9 ++++++
 drivers/staging/isdn/TODO                     | 22 +++++++++++++++
 .../hardware => staging/isdn}/avm/Kconfig     |  0
 .../hardware => staging/isdn}/avm/Makefile    |  2 ++
 .../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/capi/Kconfig       |  0
 drivers/{ => staging}/isdn/capi/Makefile      |  2 ++
 drivers/{ => staging}/isdn/capi/capi.c        |  0
 drivers/{ => staging}/isdn/capi/capilib.c     |  0
 drivers/{ => staging}/isdn/capi/capiutil.c    |  0
 drivers/{ => staging}/isdn/capi/kcapi.c       |  0
 drivers/{ => staging}/isdn/capi/kcapi.h       |  0
 drivers/{ => staging}/isdn/capi/kcapi_proc.c  |  0
 drivers/{ => staging}/isdn/gigaset/Kconfig    |  0
 drivers/{ => staging}/isdn/gigaset/Makefile   |  2 ++
 .../{ => 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/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     |  2 ++
 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
 .../staging/isdn/include}/linux/b1lli.h       |  0
 .../staging/isdn/include}/linux/gigaset_dev.h |  0
 .../isdn/include}/linux/isdn/capilli.h        |  0
 .../isdn/include}/linux/isdn/capiutil.h       |  0
 .../isdn/include}/uapi/linux/isdn/capicmd.h   |  0
 66 files changed, 81 insertions(+), 36 deletions(-)
 rename {Documentation/isdn => drivers/staging/isdn/Documentation}/CREDITS (100%)
 rename {Documentation/isdn => drivers/staging/isdn/Documentation}/INTERFACE.CAPI (100%)
 rename {Documentation/isdn => drivers/staging/isdn/Documentation}/README.avmb1 (100%)
 rename {Documentation/isdn => drivers/staging/isdn/Documentation}/README.gigaset (100%)
 rename {Documentation/isdn => drivers/staging/isdn/Documentation}/README.hysdn (100%)
 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 (86%)
 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/capi/Kconfig (100%)
 rename drivers/{ => staging}/isdn/capi/Makefile (83%)
 rename drivers/{ => staging}/isdn/capi/capi.c (100%)
 rename drivers/{ => staging}/isdn/capi/capilib.c (100%)
 rename drivers/{ => staging}/isdn/capi/capiutil.c (100%)
 rename drivers/{ => staging}/isdn/capi/kcapi.c (100%)
 rename drivers/{ => staging}/isdn/capi/kcapi.h (100%)
 rename drivers/{ => staging}/isdn/capi/kcapi_proc.c (100%)
 rename drivers/{ => staging}/isdn/gigaset/Kconfig (100%)
 rename drivers/{ => staging}/isdn/gigaset/Makefile (82%)
 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/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 (79%)
 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%)
 rename {include/uapi => drivers/staging/isdn/include}/linux/b1lli.h (100%)
 rename {include/uapi => drivers/staging/isdn/include}/linux/gigaset_dev.h (100%)
 rename {include => drivers/staging/isdn/include}/linux/isdn/capilli.h (100%)
 rename {include => drivers/staging/isdn/include}/linux/isdn/capiutil.h (100%)
 rename {include => drivers/staging/isdn/include}/uapi/linux/isdn/capicmd.h (100%)

-- 
2.20.0
diff mbox series

Patch

diff --git a/MAINTAINERS b/MAINTAINERS
index 1e3a739f0145..c090207ab4fa 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -6556,9 +6556,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>
@@ -8236,18 +8234,26 @@  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:	Documentation/isdn/
+F:	drivers/staging/isdn/
 F:	drivers/isdn/
 F:	include/linux/isdn/
 F:	include/uapi/linux/isdn/
 
+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:	drivers/staging/isdn/
+
 IT87 HARDWARE MONITORING DRIVER
 M:	Jean Delvare <jdelvare@suse.com>
 L:	linux-hwmon@vger.kernel.org
diff --git a/drivers/isdn/Kconfig b/drivers/isdn/Kconfig
index 161f7527df70..7e21b5c4b9b0 100644
--- a/drivers/isdn/Kconfig
+++ b/drivers/isdn/Kconfig
@@ -20,33 +20,6 @@  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
diff --git a/drivers/isdn/Makefile b/drivers/isdn/Makefile
index f2a529c5a511..0bdadffeb939 100644
--- a/drivers/isdn/Makefile
+++ b/drivers/isdn/Makefile
@@ -3,8 +3,5 @@ 
 
 # Object files in subdirectories
 
-obj-$(CONFIG_ISDN_CAPI)			+= capi/
 obj-$(CONFIG_MISDN)			+= mISDN/
 obj-$(CONFIG_ISDN)			+= hardware/
-obj-$(CONFIG_HYSDN)			+= hysdn/
-obj-$(CONFIG_ISDN_DRV_GIGASET)		+= gigaset/
diff --git a/drivers/isdn/hardware/Makefile b/drivers/isdn/hardware/Makefile
index e503032b05a0..da55c4a285f6 100644
--- a/drivers/isdn/hardware/Makefile
+++ b/drivers/isdn/hardware/Makefile
@@ -2,5 +2,4 @@ 
 
 # Object files in subdirectories
 
-obj-$(CONFIG_CAPI_AVM)		+= avm/
 obj-$(CONFIG_MISDN)		+= mISDN/
diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig
index 62951e836cbc..53e748b90c2c 100644
--- a/drivers/staging/Kconfig
+++ b/drivers/staging/Kconfig
@@ -122,4 +122,6 @@  source "drivers/staging/axis-fifo/Kconfig"
 
 source "drivers/staging/erofs/Kconfig"
 
+source "drivers/staging/isdn/Kconfig"
+
 endif # STAGING
diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile
index d1b17ddcd354..dab0be5ae2ec 100644
--- a/drivers/staging/Makefile
+++ b/drivers/staging/Makefile
@@ -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/
diff --git a/Documentation/isdn/CREDITS b/drivers/staging/isdn/Documentation/CREDITS
similarity index 100%
rename from Documentation/isdn/CREDITS
rename to drivers/staging/isdn/Documentation/CREDITS
diff --git a/Documentation/isdn/INTERFACE.CAPI b/drivers/staging/isdn/Documentation/INTERFACE.CAPI
similarity index 100%
rename from Documentation/isdn/INTERFACE.CAPI
rename to drivers/staging/isdn/Documentation/INTERFACE.CAPI
diff --git a/Documentation/isdn/README.avmb1 b/drivers/staging/isdn/Documentation/README.avmb1
similarity index 100%
rename from Documentation/isdn/README.avmb1
rename to drivers/staging/isdn/Documentation/README.avmb1
diff --git a/Documentation/isdn/README.gigaset b/drivers/staging/isdn/Documentation/README.gigaset
similarity index 100%
rename from Documentation/isdn/README.gigaset
rename to drivers/staging/isdn/Documentation/README.gigaset
diff --git a/Documentation/isdn/README.hysdn b/drivers/staging/isdn/Documentation/README.hysdn
similarity index 100%
rename from Documentation/isdn/README.hysdn
rename to drivers/staging/isdn/Documentation/README.hysdn
diff --git a/drivers/staging/isdn/Kconfig b/drivers/staging/isdn/Kconfig
new file mode 100644
index 000000000000..77e1b80af716
--- /dev/null
+++ b/drivers/staging/isdn/Kconfig
@@ -0,0 +1,28 @@ 
+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/staging/isdn/capi/Kconfig"
+
+source "drivers/staging/isdn/avm/Kconfig"
+
+source "drivers/staging/isdn/gigaset/Kconfig"
+
+source "drivers/staging/isdn/hysdn/Kconfig"
+
+
+endif # ISDN_CAPI
+
diff --git a/drivers/staging/isdn/Makefile b/drivers/staging/isdn/Makefile
new file mode 100644
index 000000000000..c5e8b8004f65
--- /dev/null
+++ b/drivers/staging/isdn/Makefile
@@ -0,0 +1,9 @@ 
+# SPDX-License-Identifier: GPL-2.0
+# Makefile for the kernel ISDN subsystem and device drivers.
+
+# Object files in subdirectories
+
+obj-$(CONFIG_ISDN_CAPI)			+= capi/
+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
index 000000000000..9210d11eb68b
--- /dev/null
+++ b/drivers/staging/isdn/TODO
@@ -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>
diff --git a/drivers/isdn/hardware/avm/Kconfig b/drivers/staging/isdn/avm/Kconfig
similarity index 100%
rename from drivers/isdn/hardware/avm/Kconfig
rename to drivers/staging/isdn/avm/Kconfig
diff --git a/drivers/isdn/hardware/avm/Makefile b/drivers/staging/isdn/avm/Makefile
similarity index 86%
rename from drivers/isdn/hardware/avm/Makefile
rename to drivers/staging/isdn/avm/Makefile
index 3830a0573fcc..fa59f7e38e8a 100644
--- a/drivers/isdn/hardware/avm/Makefile
+++ b/drivers/staging/isdn/avm/Makefile
@@ -10,3 +10,5 @@  obj-$(CONFIG_ISDN_DRV_AVMB1_AVM_CS)	+= avm_cs.o
 obj-$(CONFIG_ISDN_DRV_AVMB1_T1ISA)	+= t1isa.o b1.o
 obj-$(CONFIG_ISDN_DRV_AVMB1_T1PCI)	+= t1pci.o b1.o b1dma.o
 obj-$(CONFIG_ISDN_DRV_AVMB1_C4)		+= c4.o b1.o
+
+ccflags-y += -I$(srctree)/$(src)/../include -I$(srctree)/$(src)/../include/uapi
diff --git a/drivers/isdn/hardware/avm/avm_cs.c b/drivers/staging/isdn/avm/avm_cs.c
similarity index 100%
rename from drivers/isdn/hardware/avm/avm_cs.c
rename to drivers/staging/isdn/avm/avm_cs.c
diff --git a/drivers/isdn/hardware/avm/avmcard.h b/drivers/staging/isdn/avm/avmcard.h
similarity index 100%
rename from drivers/isdn/hardware/avm/avmcard.h
rename to drivers/staging/isdn/avm/avmcard.h
diff --git a/drivers/isdn/hardware/avm/b1.c b/drivers/staging/isdn/avm/b1.c
similarity index 100%
rename from drivers/isdn/hardware/avm/b1.c
rename to drivers/staging/isdn/avm/b1.c
diff --git a/drivers/isdn/hardware/avm/b1dma.c b/drivers/staging/isdn/avm/b1dma.c
similarity index 100%
rename from drivers/isdn/hardware/avm/b1dma.c
rename to drivers/staging/isdn/avm/b1dma.c
diff --git a/drivers/isdn/hardware/avm/b1isa.c b/drivers/staging/isdn/avm/b1isa.c
similarity index 100%
rename from drivers/isdn/hardware/avm/b1isa.c
rename to drivers/staging/isdn/avm/b1isa.c
diff --git a/drivers/isdn/hardware/avm/b1pci.c b/drivers/staging/isdn/avm/b1pci.c
similarity index 100%
rename from drivers/isdn/hardware/avm/b1pci.c
rename to drivers/staging/isdn/avm/b1pci.c
diff --git a/drivers/isdn/hardware/avm/b1pcmcia.c b/drivers/staging/isdn/avm/b1pcmcia.c
similarity index 100%
rename from drivers/isdn/hardware/avm/b1pcmcia.c
rename to drivers/staging/isdn/avm/b1pcmcia.c
diff --git a/drivers/isdn/hardware/avm/c4.c b/drivers/staging/isdn/avm/c4.c
similarity index 100%
rename from drivers/isdn/hardware/avm/c4.c
rename to drivers/staging/isdn/avm/c4.c
diff --git a/drivers/isdn/hardware/avm/t1isa.c b/drivers/staging/isdn/avm/t1isa.c
similarity index 100%
rename from drivers/isdn/hardware/avm/t1isa.c
rename to drivers/staging/isdn/avm/t1isa.c
diff --git a/drivers/isdn/hardware/avm/t1pci.c b/drivers/staging/isdn/avm/t1pci.c
similarity index 100%
rename from drivers/isdn/hardware/avm/t1pci.c
rename to drivers/staging/isdn/avm/t1pci.c
diff --git a/drivers/isdn/capi/Kconfig b/drivers/staging/isdn/capi/Kconfig
similarity index 100%
rename from drivers/isdn/capi/Kconfig
rename to drivers/staging/isdn/capi/Kconfig
diff --git a/drivers/isdn/capi/Makefile b/drivers/staging/isdn/capi/Makefile
similarity index 83%
rename from drivers/isdn/capi/Makefile
rename to drivers/staging/isdn/capi/Makefile
index 06da3ed2c40a..d299f3e75f89 100644
--- a/drivers/isdn/capi/Makefile
+++ b/drivers/staging/isdn/capi/Makefile
@@ -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/capi/capi.c b/drivers/staging/isdn/capi/capi.c
similarity index 100%
rename from drivers/isdn/capi/capi.c
rename to drivers/staging/isdn/capi/capi.c
diff --git a/drivers/isdn/capi/capilib.c b/drivers/staging/isdn/capi/capilib.c
similarity index 100%
rename from drivers/isdn/capi/capilib.c
rename to drivers/staging/isdn/capi/capilib.c
diff --git a/drivers/isdn/capi/capiutil.c b/drivers/staging/isdn/capi/capiutil.c
similarity index 100%
rename from drivers/isdn/capi/capiutil.c
rename to drivers/staging/isdn/capi/capiutil.c
diff --git a/drivers/isdn/capi/kcapi.c b/drivers/staging/isdn/capi/kcapi.c
similarity index 100%
rename from drivers/isdn/capi/kcapi.c
rename to drivers/staging/isdn/capi/kcapi.c
diff --git a/drivers/isdn/capi/kcapi.h b/drivers/staging/isdn/capi/kcapi.h
similarity index 100%
rename from drivers/isdn/capi/kcapi.h
rename to drivers/staging/isdn/capi/kcapi.h
diff --git a/drivers/isdn/capi/kcapi_proc.c b/drivers/staging/isdn/capi/kcapi_proc.c
similarity index 100%
rename from drivers/isdn/capi/kcapi_proc.c
rename to drivers/staging/isdn/capi/kcapi_proc.c
diff --git a/drivers/isdn/gigaset/Kconfig b/drivers/staging/isdn/gigaset/Kconfig
similarity index 100%
rename from drivers/isdn/gigaset/Kconfig
rename to drivers/staging/isdn/gigaset/Kconfig
diff --git a/drivers/isdn/gigaset/Makefile b/drivers/staging/isdn/gigaset/Makefile
similarity index 82%
rename from drivers/isdn/gigaset/Makefile
rename to drivers/staging/isdn/gigaset/Makefile
index f8ba14735bf1..bb180ca27fdb 100644
--- a/drivers/isdn/gigaset/Makefile
+++ b/drivers/staging/isdn/gigaset/Makefile
@@ -8,3 +8,5 @@  obj-$(CONFIG_ISDN_DRV_GIGASET) += gigaset.o
 obj-$(CONFIG_GIGASET_M105) += usb_gigaset.o
 obj-$(CONFIG_GIGASET_BASE) += bas_gigaset.o
 obj-$(CONFIG_GIGASET_M101) += ser_gigaset.o
+
+ccflags-y += -I$(srctree)/$(src)/../include -I$(srctree)/$(src)/../include/uapi
diff --git a/drivers/isdn/gigaset/asyncdata.c b/drivers/staging/isdn/gigaset/asyncdata.c
similarity index 100%
rename from drivers/isdn/gigaset/asyncdata.c
rename to drivers/staging/isdn/gigaset/asyncdata.c
diff --git a/drivers/isdn/gigaset/bas-gigaset.c b/drivers/staging/isdn/gigaset/bas-gigaset.c
similarity index 100%
rename from drivers/isdn/gigaset/bas-gigaset.c
rename to drivers/staging/isdn/gigaset/bas-gigaset.c
diff --git a/drivers/isdn/gigaset/capi.c b/drivers/staging/isdn/gigaset/capi.c
similarity index 100%
rename from drivers/isdn/gigaset/capi.c
rename to drivers/staging/isdn/gigaset/capi.c
diff --git a/drivers/isdn/gigaset/common.c b/drivers/staging/isdn/gigaset/common.c
similarity index 100%
rename from drivers/isdn/gigaset/common.c
rename to drivers/staging/isdn/gigaset/common.c
diff --git a/drivers/isdn/gigaset/ev-layer.c b/drivers/staging/isdn/gigaset/ev-layer.c
similarity index 100%
rename from drivers/isdn/gigaset/ev-layer.c
rename to drivers/staging/isdn/gigaset/ev-layer.c
diff --git a/drivers/isdn/gigaset/gigaset.h b/drivers/staging/isdn/gigaset/gigaset.h
similarity index 100%
rename from drivers/isdn/gigaset/gigaset.h
rename to drivers/staging/isdn/gigaset/gigaset.h
diff --git a/drivers/isdn/gigaset/interface.c b/drivers/staging/isdn/gigaset/interface.c
similarity index 100%
rename from drivers/isdn/gigaset/interface.c
rename to drivers/staging/isdn/gigaset/interface.c
diff --git a/drivers/isdn/gigaset/isocdata.c b/drivers/staging/isdn/gigaset/isocdata.c
similarity index 100%
rename from drivers/isdn/gigaset/isocdata.c
rename to drivers/staging/isdn/gigaset/isocdata.c
diff --git a/drivers/isdn/gigaset/proc.c b/drivers/staging/isdn/gigaset/proc.c
similarity index 100%
rename from drivers/isdn/gigaset/proc.c
rename to drivers/staging/isdn/gigaset/proc.c
diff --git a/drivers/isdn/gigaset/ser-gigaset.c b/drivers/staging/isdn/gigaset/ser-gigaset.c
similarity index 100%
rename from drivers/isdn/gigaset/ser-gigaset.c
rename to drivers/staging/isdn/gigaset/ser-gigaset.c
diff --git a/drivers/isdn/gigaset/usb-gigaset.c b/drivers/staging/isdn/gigaset/usb-gigaset.c
similarity index 100%
rename from drivers/isdn/gigaset/usb-gigaset.c
rename to drivers/staging/isdn/gigaset/usb-gigaset.c
diff --git a/drivers/isdn/hysdn/Kconfig b/drivers/staging/isdn/hysdn/Kconfig
similarity index 100%
rename from drivers/isdn/hysdn/Kconfig
rename to drivers/staging/isdn/hysdn/Kconfig
diff --git a/drivers/isdn/hysdn/Makefile b/drivers/staging/isdn/hysdn/Makefile
similarity index 79%
rename from drivers/isdn/hysdn/Makefile
rename to drivers/staging/isdn/hysdn/Makefile
index da63b636267d..23c6159513a8 100644
--- a/drivers/isdn/hysdn/Makefile
+++ b/drivers/staging/isdn/hysdn/Makefile
@@ -9,3 +9,5 @@  obj-$(CONFIG_HYSDN)		+= hysdn.o
 hysdn-y				:= hysdn_procconf.o hysdn_proclog.o boardergo.o \
 				   hysdn_boot.o hysdn_sched.o hysdn_net.o hysdn_init.o
 hysdn-$(CONFIG_HYSDN_CAPI)	+= hycapi.o
+
+ccflags-y += -I$(srctree)/$(src)/../include -I$(srctree)/$(src)/../include/uapi
diff --git a/drivers/isdn/hysdn/boardergo.c b/drivers/staging/isdn/hysdn/boardergo.c
similarity index 100%
rename from drivers/isdn/hysdn/boardergo.c
rename to drivers/staging/isdn/hysdn/boardergo.c
diff --git a/drivers/isdn/hysdn/boardergo.h b/drivers/staging/isdn/hysdn/boardergo.h
similarity index 100%
rename from drivers/isdn/hysdn/boardergo.h
rename to drivers/staging/isdn/hysdn/boardergo.h
diff --git a/drivers/isdn/hysdn/hycapi.c b/drivers/staging/isdn/hysdn/hycapi.c
similarity index 100%
rename from drivers/isdn/hysdn/hycapi.c
rename to drivers/staging/isdn/hysdn/hycapi.c
diff --git a/drivers/isdn/hysdn/hysdn_boot.c b/drivers/staging/isdn/hysdn/hysdn_boot.c
similarity index 100%
rename from drivers/isdn/hysdn/hysdn_boot.c
rename to drivers/staging/isdn/hysdn/hysdn_boot.c
diff --git a/drivers/isdn/hysdn/hysdn_defs.h b/drivers/staging/isdn/hysdn/hysdn_defs.h
similarity index 100%
rename from drivers/isdn/hysdn/hysdn_defs.h
rename to drivers/staging/isdn/hysdn/hysdn_defs.h
diff --git a/drivers/isdn/hysdn/hysdn_init.c b/drivers/staging/isdn/hysdn/hysdn_init.c
similarity index 100%
rename from drivers/isdn/hysdn/hysdn_init.c
rename to drivers/staging/isdn/hysdn/hysdn_init.c
diff --git a/drivers/isdn/hysdn/hysdn_net.c b/drivers/staging/isdn/hysdn/hysdn_net.c
similarity index 100%
rename from drivers/isdn/hysdn/hysdn_net.c
rename to drivers/staging/isdn/hysdn/hysdn_net.c
diff --git a/drivers/isdn/hysdn/hysdn_pof.h b/drivers/staging/isdn/hysdn/hysdn_pof.h
similarity index 100%
rename from drivers/isdn/hysdn/hysdn_pof.h
rename to drivers/staging/isdn/hysdn/hysdn_pof.h
diff --git a/drivers/isdn/hysdn/hysdn_procconf.c b/drivers/staging/isdn/hysdn/hysdn_procconf.c
similarity index 100%
rename from drivers/isdn/hysdn/hysdn_procconf.c
rename to drivers/staging/isdn/hysdn/hysdn_procconf.c
diff --git a/drivers/isdn/hysdn/hysdn_proclog.c b/drivers/staging/isdn/hysdn/hysdn_proclog.c
similarity index 100%
rename from drivers/isdn/hysdn/hysdn_proclog.c
rename to drivers/staging/isdn/hysdn/hysdn_proclog.c
diff --git a/drivers/isdn/hysdn/hysdn_sched.c b/drivers/staging/isdn/hysdn/hysdn_sched.c
similarity index 100%
rename from drivers/isdn/hysdn/hysdn_sched.c
rename to drivers/staging/isdn/hysdn/hysdn_sched.c
diff --git a/drivers/isdn/hysdn/ince1pc.h b/drivers/staging/isdn/hysdn/ince1pc.h
similarity index 100%
rename from drivers/isdn/hysdn/ince1pc.h
rename to drivers/staging/isdn/hysdn/ince1pc.h
diff --git a/include/uapi/linux/b1lli.h b/drivers/staging/isdn/include/linux/b1lli.h
similarity index 100%
rename from include/uapi/linux/b1lli.h
rename to drivers/staging/isdn/include/linux/b1lli.h
diff --git a/include/uapi/linux/gigaset_dev.h b/drivers/staging/isdn/include/linux/gigaset_dev.h
similarity index 100%
rename from include/uapi/linux/gigaset_dev.h
rename to drivers/staging/isdn/include/linux/gigaset_dev.h
diff --git a/include/linux/isdn/capilli.h b/drivers/staging/isdn/include/linux/isdn/capilli.h
similarity index 100%
rename from include/linux/isdn/capilli.h
rename to drivers/staging/isdn/include/linux/isdn/capilli.h
diff --git a/include/linux/isdn/capiutil.h b/drivers/staging/isdn/include/linux/isdn/capiutil.h
similarity index 100%
rename from include/linux/isdn/capiutil.h
rename to drivers/staging/isdn/include/linux/isdn/capiutil.h
diff --git a/include/uapi/linux/isdn/capicmd.h b/drivers/staging/isdn/include/uapi/linux/isdn/capicmd.h
similarity index 100%
rename from include/uapi/linux/isdn/capicmd.h
rename to drivers/staging/isdn/include/uapi/linux/isdn/capicmd.h