#
# 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

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.

source "drivers/isdn/mISDN/Kconfig"

source "drivers/isdn/i4l/Kconfig"

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
