#
# ISDN device configuration
#

menuconfig ISDN
	bool "ISDN support"
	depends on NET
	depends on !S390
	---help---
	  ISDN ("Integrated Services Digital Networks", called RNIS in France)
	  is a special type of fully digital telephone service; it's mostly
	  used to connect to your Internet service provider (with SLIP or
	  PPP).  The main advantage is that the speed is higher than ordinary
	  modem/telephone connections, and that you can have voice
	  conversations while downloading stuff.  It only works if your
	  computer is equipped with an ISDN card and both you and your service
	  provider purchased an ISDN line from the phone company.  For
	  details, read <http://www.alumni.caltech.edu/~dank/isdn/> on the WWW.

	  Select this option if you want your kernel to support ISDN.

if ISDN

source "drivers/isdn/mISDN/Kconfig"

menuconfig ISDN_I4L
	tristate "Old ISDN4Linux (deprecated)"
	---help---
	  This driver allows you to use an ISDN adapter for networking
	  connections and as dialin/out device.  The isdn-tty's have a built
	  in AT-compatible modem emulator.  Network devices support autodial,
	  channel-bundling, callback and caller-authentication without having
	  a daemon running.  A reduced T.70 protocol is supported with tty's
	  suitable for German BTX.  On D-Channel, the protocols EDSS1
	  (Euro-ISDN) and 1TR6 (German style) are supported.  See
	  <file:Documentation/isdn/README> for more information.

	  ISDN support in the linux kernel is moving towards a new API,
	  called CAPI (Common ISDN Application Programming Interface).
	  Therefore the old ISDN4Linux layer will eventually become obsolete.
	  It is still available, though, for use with adapters that are not
	  supported by the new CAPI subsystem yet.

if ISDN_I4L
source "drivers/isdn/i4l/Kconfig"
endif

menuconfig ISDN_CAPI
	tristate "CAPI 2.0 subsystem"
	help
	  This provides the CAPI (Common ISDN Application Programming
	  Interface, a standard making it easy for programs to access ISDN
	  hardware, see <http://www.capi.org/>.  This is needed for AVM's set
	  of active ISDN controllers like B1, T1, M1.

if ISDN_CAPI

source "drivers/isdn/capi/Kconfig"

source "drivers/isdn/hardware/Kconfig"

endif # ISDN_CAPI

source "drivers/isdn/gigaset/Kconfig"

endif # ISDN
