diff --git a/drivers/isdn/hisax/Kconfig b/drivers/isdn/hisax/Kconfig
new file mode 100644
index 0000000..6c7b8bf
--- /dev/null
+++ b/drivers/isdn/hisax/Kconfig
@@ -0,0 +1,442 @@
+
+menu "Passive cards"
+	depends on ISDN_I4L
+
+config ISDN_DRV_HISAX
+	tristate "HiSax SiemensChipSet driver support"
+	select CRC_CCITT
+	---help---
+	  This is a driver supporting the Siemens chipset on various
+	  ISDN-cards (like AVM A1, Elsa ISDN cards, Teles S0-16.0, Teles
+	  S0-16.3, Teles S0-8, Teles/Creatix PnP, ITK micro ix1 and many
+	  compatibles).
+
+	  HiSax is just the name of this driver, not the name of any hardware.
+
+	  If you have a card with such a chipset, you should say Y here and
+	  also to the configuration option of the driver for your particular
+	  card, below.
+
+if ISDN_DRV_HISAX!=n
+
+comment "D-channel protocol features"
+
+config HISAX_EURO
+	bool "HiSax Support for EURO/DSS1"
+	help
+	  Say Y or N according to the D-channel protocol which your local
+	  telephone service company provides.
+
+	  The call control protocol E-DSS1 is used in most European countries.
+	  If unsure, say Y.
+
+config DE_AOC
+	bool "Support for german chargeinfo"
+	depends on HISAX_EURO
+	help
+	  If you want that the HiSax hardware driver sends messages to the
+	  upper level of the isdn code on each AOCD (Advice Of Charge, During
+	  the call -- transmission of the fee information during a call) and
+	  on each AOCE (Advice Of Charge, at the End of the call --
+	  transmission of fee information at the end of the call), say Y here.
+	  This works only in Germany.
+
+config HISAX_NO_SENDCOMPLETE
+	bool "Disable sending complete"
+	depends on HISAX_EURO
+	help
+	  If you have trouble with some ugly exchanges or you live in
+	  Australia select this option.
+
+config HISAX_NO_LLC
+	bool "Disable sending low layer compatibility"
+	depends on HISAX_EURO
+	help
+	  If you have trouble with some ugly exchanges try to select this
+	  option.
+
+config HISAX_NO_KEYPAD
+	bool "Disable keypad protocol option"
+	depends on HISAX_EURO
+	help
+	  If you like to send special dial strings including * or # without
+	  using the keypad protocol, select this option.
+
+config HISAX_1TR6
+	bool "HiSax Support for german 1TR6"
+	help
+	  Say Y or N according to the D-channel protocol which your local
+	  telephone service company provides.
+
+	  1TR6 is an old call control protocol which was used in Germany
+	  before E-DSS1 was established. Nowadays, all new lines in Germany
+	  use E-DSS1.
+
+config HISAX_NI1
+	bool "HiSax Support for US NI1"
+	help
+	  Enable this if you like to use ISDN in US on a NI1 basic rate
+	  interface.
+
+config HISAX_MAX_CARDS
+	int "Maximum number of cards supported by HiSax"
+	default "8"
+	help
+	  This option allows you to specify the maximum number of cards which
+	  the HiSax driver will be able to handle.  
+
+comment "HiSax supported cards"
+
+config HISAX_16_0
+	bool "Teles 16.0/8.0"
+	depends on ISA
+	help
+	  This enables HiSax support for the Teles ISDN-cards S0-16.0, S0-8
+	  and many compatibles.
+
+	  See <file:Documentation/isdn/README.HiSax> on how to configure it
+	  using the different cards, a different D-channel protocol, or
+	  non-standard IRQ/port/shmem settings.
+
+config HISAX_16_3
+	bool "Teles 16.3 or PNP or PCMCIA"
+	help
+	  This enables HiSax support for the Teles ISDN-cards S0-16.3 the
+	  Teles/Creatix PnP and the Teles PCMCIA.
+
+	  See <file:Documentation/isdn/README.HiSax> on how to configure it
+	  using the different cards, a different D-channel protocol, or
+	  non-standard IRQ/port settings.
+
+config HISAX_TELESPCI
+	bool "Teles PCI"
+	depends on PCI && (BROKEN || !(SPARC64 || PPC))
+	help
+	  This enables HiSax support for the Teles PCI.
+	  See <file:Documentation/isdn/README.HiSax> on how to configure it.
+
+config HISAX_S0BOX
+	bool "Teles S0Box"
+	help
+	  This enables HiSax support for the Teles/Creatix parallel port
+	  S0BOX.  See <file:Documentation/isdn/README.HiSax> on how to
+	  configure it.
+
+config HISAX_AVM_A1
+	bool "AVM A1 (Fritz)"
+	depends on ISA
+	help
+	  This enables HiSax support for the AVM A1 (aka "Fritz").
+
+	  See <file:Documentation/isdn/README.HiSax> on how to configure it
+	  using the different cards, a different D-channel protocol, or
+	  non-standard IRQ/port settings.
+
+config HISAX_FRITZPCI
+	bool "AVM PnP/PCI (Fritz!PnP/PCI)"
+	help
+	  This enables HiSax support for the AVM "Fritz!PnP" and "Fritz!PCI".
+	  See <file:Documentation/isdn/README.HiSax> on how to configure it.
+
+config HISAX_AVM_A1_PCMCIA
+	bool "AVM A1 PCMCIA (Fritz)"
+	help
+	  This enables HiSax support for the AVM A1 "Fritz!PCMCIA").
+	  See <file:Documentation/isdn/README.HiSax> on how to configure it.
+
+config HISAX_ELSA
+	bool "Elsa cards"
+	help
+	  This enables HiSax support for the Elsa Mircolink ISA cards, for the
+	  Elsa Quickstep series cards and Elsa PCMCIA.
+
+	  See <file:Documentation/isdn/README.HiSax> on how to configure it
+	  using the different cards, a different D-channel protocol, or
+	  non-standard IRQ/port settings.
+
+config HISAX_IX1MICROR2
+	bool "ITK ix1-micro Revision 2"
+	depends on ISA
+	help
+	  This enables HiSax support for the ITK ix1-micro Revision 2 card.
+
+	  See <file:Documentation/isdn/README.HiSax> on how to configure it
+	  using the different cards, a different D-channel protocol, or
+	  non-standard IRQ/port settings.
+
+config HISAX_DIEHLDIVA
+	bool "Eicon.Diehl Diva cards"
+	help
+	  This enables HiSax support for the Eicon.Diehl Diva none PRO
+	  versions passive ISDN cards.
+
+	  See <file:Documentation/isdn/README.HiSax> on how to configure it
+	  using the different cards, a different D-channel protocol, or
+	  non-standard IRQ/port settings.
+
+config HISAX_ASUSCOM
+	bool "ASUSCOM ISA cards"
+	depends on ISA
+	help
+	  This enables HiSax support for the AsusCom and their OEM versions
+	  passive ISDN ISA cards.
+
+	  See <file:Documentation/isdn/README.HiSax> on how to configure it
+	  using the different cards, a different D-channel protocol, or
+	  non-standard IRQ/port settings.
+
+config HISAX_TELEINT
+	bool "TELEINT cards"
+	depends on ISA
+	help
+	  This enables HiSax support for the TELEINT SA1 semiactiv ISDN card.
+
+	  See <file:Documentation/isdn/README.HiSax> on how to configure it
+	  using the different cards, a different D-channel protocol, or
+	  non-standard IRQ/port settings.
+
+config HISAX_HFCS
+	bool "HFC-S based cards"
+	depends on ISA
+	help
+	  This enables HiSax support for the HFC-S 2BDS0 based cards, like
+	  teles 16.3c.
+
+	  See <file:Documentation/isdn/README.HiSax> on how to configure it
+	  using the different cards, a different D-channel protocol, or
+	  non-standard IRQ/port settings.
+
+config HISAX_SEDLBAUER
+	bool "Sedlbauer cards"
+	help
+	  This enables HiSax support for the Sedlbauer passive ISDN cards.
+
+	  See <file:Documentation/isdn/README.HiSax> on how to configure it
+	  using the different cards, a different D-channel protocol, or
+	  non-standard IRQ/port settings.
+
+config HISAX_SPORTSTER
+	bool "USR Sportster internal TA"
+	depends on ISA
+	help
+	  This enables HiSax support for the USR Sportster internal TA card.
+
+	  See <file:Documentation/isdn/README.HiSax> on how to configure it
+	  using a different D-channel protocol, or non-standard IRQ/port
+	  settings.
+
+config HISAX_MIC
+	bool "MIC card"
+	depends on ISA
+	help
+	  This enables HiSax support for the ITH MIC card.
+
+	  See <file:Documentation/isdn/README.HiSax> on how to configure it
+	  using a different D-channel protocol, or non-standard IRQ/port
+	  settings.
+
+config HISAX_NETJET
+	bool "NETjet card"
+	depends on PCI && (BROKEN || !(SPARC64 || PPC))
+	help
+	  This enables HiSax support for the NetJet from Traverse
+	  Technologies.
+
+	  See <file:Documentation/isdn/README.HiSax> on how to configure it
+	  using a different D-channel protocol, or non-standard IRQ/port
+	  settings.
+
+config HISAX_NETJET_U
+	bool "NETspider U card"
+	depends on PCI && (BROKEN || !(SPARC64 || PPC))
+	help
+	  This enables HiSax support for the Netspider U interface ISDN card
+	  from Traverse Technologies.
+	  See <file:Documentation/isdn/README.HiSax> on how to configure it
+	  using a different D-channel protocol, or non-standard IRQ/port
+	  settings.
+
+config HISAX_NICCY
+	bool "Niccy PnP/PCI card"
+	help
+	  This enables HiSax support for the Dr. Neuhaus Niccy PnP or PCI.
+
+	  See <file:Documentation/isdn/README.HiSax> on how to configure it
+	  using a different D-channel protocol, or non-standard IRQ/port
+	  settings.
+
+config HISAX_ISURF
+	bool "Siemens I-Surf card"
+	depends on ISA
+	help
+	  This enables HiSax support for the Siemens I-Talk/I-Surf card with
+	  ISAR chip.
+	  See <file:Documentation/isdn/README.HiSax> on how to configure it
+	  using a different D-channel protocol, or non-standard IRQ/port
+	  settings.
+
+config HISAX_HSTSAPHIR
+	bool "HST Saphir card"
+	depends on ISA
+	help
+	  This enables HiSax support for the HST Saphir card.
+
+	  See <file:Documentation/isdn/README.HiSax> on how to configure it
+	  using a different D-channel protocol, or non-standard IRQ/port
+	  settings.
+
+config HISAX_BKM_A4T
+	bool "Telekom A4T card"
+	depends on PCI
+	help
+	  This enables HiSax support for the Telekom A4T card.
+
+	  See <file:Documentation/isdn/README.HiSax> on how to configure it
+	  using a different D-channel protocol, or non-standard IRQ/port
+	  settings.
+
+config HISAX_SCT_QUADRO
+	bool "Scitel Quadro card"
+	depends on PCI
+	help
+	  This enables HiSax support for the Scitel Quadro card.
+
+	  See <file:Documentation/isdn/README.HiSax> on how to configure it
+	  using a different D-channel protocol, or non-standard IRQ/port
+	  settings.
+
+config HISAX_GAZEL
+	bool "Gazel cards"
+	help
+	  This enables HiSax support for the Gazel cards.
+
+	  See <file:Documentation/isdn/README.HiSax> on how to configure it
+	  using a different D-channel protocol, or non-standard IRQ/port
+	  settings.
+
+config HISAX_HFC_PCI
+	bool "HFC PCI-Bus cards"
+	depends on PCI && (BROKEN || !(SPARC64 || PPC))
+	help
+	  This enables HiSax support for the HFC-S PCI 2BDS0 based cards.
+
+	  For more informations see under
+	  <file:Documentation/isdn/README.hfc-pci>.
+
+config HISAX_W6692
+	bool "Winbond W6692 based cards"
+	depends on PCI
+	help
+	  This enables HiSax support for Winbond W6692 based PCI ISDN cards.
+
+	  See <file:Documentation/isdn/README.HiSax> on how to configure it
+	  using a different D-channel protocol, or non-standard IRQ/port
+	  settings.
+
+config HISAX_HFC_SX
+	bool "HFC-S+, HFC-SP, HFC-PCMCIA cards"
+	help
+	  This enables HiSax support for the HFC-S+, HFC-SP and HFC-PCMCIA
+	  cards. This code is not finished yet.
+
+#      bool '  TESTEMULATOR (EXPERIMENTAL)' CONFIG_HISAX_TESTEMU
+
+config HISAX_ENTERNOW_PCI
+	bool "Formula-n enter:now PCI card"
+	depends on PCI && (BROKEN || !(SPARC64 || PPC))
+	help
+	  This enables HiSax support for the Formula-n enter:now PCI
+	  ISDN card.
+
+config HISAX_AMD7930
+	bool "Am7930 (EXPERIMENTAL)"
+	depends on EXPERIMENTAL && (SPARC32 || SPARC64)
+	help
+	  This enables HiSax support for the AMD7930 chips on some SPARCs.
+	  This code is not finished yet.
+
+endif
+
+if ISDN_DRV_HISAX
+
+config HISAX_DEBUG
+	bool "HiSax debugging"
+	help
+	  This enables debugging code in the new-style HiSax drivers, i.e.
+	  the ST5481 USB driver currently. 
+	  If in doubt, say yes.
+
+comment "HiSax PCMCIA card service modules"
+
+config HISAX_SEDLBAUER_CS
+	tristate "Sedlbauer PCMCIA cards"
+	depends on PCMCIA && HISAX_SEDLBAUER
+	help
+	  This enables the PCMCIA client driver for the Sedlbauer Speed Star
+	  and Speed Star II cards.
+
+config HISAX_ELSA_CS
+	tristate "ELSA PCMCIA MicroLink cards"
+	depends on PCMCIA && HISAX_ELSA
+	help
+	  This enables the PCMCIA client driver for the Elsa PCMCIA MicroLink
+	  card.
+
+config HISAX_AVM_A1_CS
+	tristate "AVM A1 PCMCIA cards"
+	depends on PCMCIA && ISDN_DRV_HISAX
+	help
+	  This enables the PCMCIA client driver for the AVM A1 / Fritz!Card
+	  PCMCIA cards.
+
+config HISAX_TELES_CS
+	tristate "TELES PCMCIA cards"
+	depends on PCMCIA && HISAX_16_3
+	help
+	  This enables the PCMCIA client driver for the Teles PCMCIA cards.
+
+comment "HiSax sub driver modules"
+
+config HISAX_ST5481
+	tristate "ST5481 USB ISDN modem (EXPERIMENTAL)"
+	depends on USB && EXPERIMENTAL
+	select CRC_CCITT
+	help
+	  This enables the driver for ST5481 based USB ISDN adapters,
+	  e.g. the BeWan Gazel 128 USB
+
+config HISAX_HFCUSB
+	tristate "HFC USB based ISDN modems (EXPERIMENTAL)"
+	depends on USB && EXPERIMENTAL
+	help
+	  This enables the driver for HFC USB based ISDN modems.
+
+config HISAX_HFC4S8S
+	tristate "HFC-4S/8S based ISDN cards (EXPERIMENTAL)"
+	depends on EXPERIMENTAL
+	help
+	  This enables the driver for HFC-4S/8S based ISDN cards.
+
+config HISAX_FRITZ_PCIPNP
+	tristate "AVM Fritz!Card PCI/PCIv2/PnP support (EXPERIMENTAL)"
+	depends on PCI && EXPERIMENTAL
+	help
+	  This enables the driver for the AVM Fritz!Card PCI,
+	  Fritz!Card PCI v2 and Fritz!Card PnP.
+	  (the latter also needs you to select "ISA Plug and Play support"
+	  from the menu "Plug and Play configuration")
+
+config HISAX_HDLC
+	bool
+	depends on HISAX_ST5481
+	default y
+
+config HISAX_AVM_A1_PCMCIA
+	bool
+	depends on HISAX_AVM_A1_CS
+	default y
+
+endif
+
+endmenu
+
