summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/acorn/block/Kconfig36
-rw-r--r--drivers/acorn/net/Kconfig25
-rw-r--r--drivers/acorn/scsi/Kconfig89
-rw-r--r--drivers/acpi/Kconfig218
-rw-r--r--drivers/atm/Kconfig439
-rw-r--r--drivers/block/Kconfig343
-rw-r--r--drivers/block/paride/Kconfig305
-rw-r--r--drivers/bluetooth/Kconfig113
-rw-r--r--drivers/cdrom/Kconfig250
-rw-r--r--drivers/char/Kconfig1274
-rw-r--r--drivers/char/agp/Kconfig125
-rw-r--r--drivers/char/drm/Kconfig63
-rw-r--r--drivers/char/ftape/Kconfig343
-rw-r--r--drivers/char/pcmcia/Kconfig22
-rw-r--r--drivers/fc4/Kconfig89
-rw-r--r--drivers/hotplug/Kconfig63
-rw-r--r--drivers/i2c/Kconfig197
-rw-r--r--drivers/ide/Kconfig1012
-rw-r--r--drivers/ieee1394/Kconfig161
-rw-r--r--drivers/input/Kconfig159
-rw-r--r--drivers/input/gameport/Kconfig84
-rw-r--r--drivers/input/joystick/Kconfig298
-rw-r--r--drivers/input/joystick/iforce/Kconfig33
-rw-r--r--drivers/input/keyboard/Kconfig90
-rw-r--r--drivers/input/misc/Kconfig58
-rw-r--r--drivers/input/mouse/Kconfig121
-rw-r--r--drivers/input/serio/Kconfig105
-rw-r--r--drivers/input/touchscreen/Kconfig39
-rw-r--r--drivers/isdn/Kconfig65
-rw-r--r--drivers/isdn/act2000/Kconfig13
-rw-r--r--drivers/isdn/capi/Kconfig53
-rw-r--r--drivers/isdn/eicon/Kconfig53
-rw-r--r--drivers/isdn/hardware/Kconfig35
-rw-r--r--drivers/isdn/hardware/avm/Kconfig66
-rw-r--r--drivers/isdn/hardware/eicon/Kconfig59
-rw-r--r--drivers/isdn/hisax/Kconfig425
-rw-r--r--drivers/isdn/hysdn/Kconfig18
-rw-r--r--drivers/isdn/i4l/Kconfig109
-rw-r--r--drivers/isdn/icn/Kconfig16
-rw-r--r--drivers/isdn/pcbit/Kconfig14
-rw-r--r--drivers/isdn/sc/Kconfig14
-rw-r--r--drivers/isdn/tpam/Kconfig14
-rw-r--r--drivers/md/Kconfig149
-rw-r--r--drivers/media/Kconfig31
-rw-r--r--drivers/media/dvb/Kconfig41
-rw-r--r--drivers/media/dvb/av7110/Kconfig26
-rw-r--r--drivers/media/dvb/dvb-core/Kconfig17
-rw-r--r--drivers/media/dvb/frontends/Kconfig57
-rw-r--r--drivers/media/radio/Kconfig367
-rw-r--r--drivers/media/video/Kconfig216
-rw-r--r--drivers/message/fusion/Kconfig152
-rw-r--r--drivers/message/i2o/Kconfig93
-rw-r--r--drivers/misc/Kconfig8
-rw-r--r--drivers/mtd/Kconfig219
-rw-r--r--drivers/mtd/chips/Kconfig216
-rw-r--r--drivers/mtd/devices/Kconfig208
-rw-r--r--drivers/mtd/maps/Kconfig350
-rw-r--r--drivers/mtd/nand/Kconfig41
58 files changed, 9299 insertions, 0 deletions
diff --git a/drivers/acorn/block/Kconfig b/drivers/acorn/block/Kconfig
new file mode 100644
index 000000000000..073add35e66f
--- /dev/null
+++ b/drivers/acorn/block/Kconfig
@@ -0,0 +1,36 @@
+#
+# Block device driver configuration
+#
+
+menu "Acorn-specific block devices"
+ depends on ARCH_ACORN
+
+config BLK_DEV_FD1772
+ tristate "Old Archimedes floppy (1772) support"
+ depends on ARCH_ARC || ARCH_A5K
+ help
+ Support the floppy drive on the Acorn Archimedes (A300, A4x0, A540,
+ R140 and R260) series of computers; it supports only 720K floppies
+ at the moment. If you don't have one of these machines just answer
+ N.
+
+config BLK_DEV_MFM
+ tristate "MFM harddisk support"
+ depends on ARCH_ARC || ARCH_A5K
+ help
+ Support the MFM hard drives on the Acorn Archimedes both
+ on-board the A4x0 motherboards and via the Acorn MFM podules.
+ Drives up to 64MB are supported. If you haven't got one of these
+ machines or drives just say N.
+
+config BLK_DEV_MFM_AUTODETECT
+ bool "Autodetect hard drive geometry"
+ depends on BLK_DEV_MFM
+ help
+ If you answer Y, the MFM code will attempt to automatically detect
+ the cylinders/heads/sectors count on your hard drive. WARNING: This
+ sometimes doesn't work and it also does some dodgy stuff which
+ potentially might damage your drive.
+
+endmenu
+
diff --git a/drivers/acorn/net/Kconfig b/drivers/acorn/net/Kconfig
new file mode 100644
index 000000000000..d895d7541351
--- /dev/null
+++ b/drivers/acorn/net/Kconfig
@@ -0,0 +1,25 @@
+#
+# Acorn Network device configuration
+# These are for Acorn's Expansion card network interfaces
+#
+config ARM_ETHER1
+ tristate "Acorn Ether1 support"
+ depends on NET_ETHERNET && ARM && ARCH_ACORN
+ help
+ If you have an Acorn system with one of these (AKA25) network cards,
+ you should say Y to this option if you wish to use it with Linux.
+
+config ARM_ETHER3
+ tristate "Acorn/ANT Ether3 support"
+ depends on NET_ETHERNET && ARM && ARCH_ACORN
+ help
+ If you have an Acorn system with one of these network cards, you
+ should say Y to this option if you wish to use it with Linux.
+
+config ARM_ETHERH
+ tristate "I-cubed EtherH/ANT EtherM support"
+ depends on NET_ETHERNET && ARM && ARCH_ACORN
+ help
+ If you have an Acorn system with one of these network cards, you
+ should say Y to this option if you wish to use it with Linux.
+
diff --git a/drivers/acorn/scsi/Kconfig b/drivers/acorn/scsi/Kconfig
new file mode 100644
index 000000000000..54b32868aaf7
--- /dev/null
+++ b/drivers/acorn/scsi/Kconfig
@@ -0,0 +1,89 @@
+#
+# SCSI driver configuration for Acorn
+#
+config SCSI_ACORNSCSI_3
+ tristate "Acorn SCSI card (aka30) support"
+ depends on ARCH_ACORN && SCSI
+ help
+ This enables support for the Acorn SCSI card (aka30). If you have an
+ Acorn system with one of these, say Y. If unsure, say N.
+
+config SCSI_ACORNSCSI_TAGGED_QUEUE
+ bool "Support SCSI 2 Tagged queueing"
+ depends on SCSI_ACORNSCSI_3
+ help
+ Say Y here to enable tagged queuing support on the Acorn SCSI card.
+
+ This is a feature of SCSI-2 which improves performance: the host
+ adapter can send several SCSI commands to a device's queue even if
+ previous commands haven't finished yet. Some SCSI devices don't
+ implement this properly, so the safe answer is N.
+
+config SCSI_ACORNSCSI_SYNC
+ bool "Support SCSI 2 Synchronous Transfers"
+ depends on SCSI_ACORNSCSI_3
+ help
+ Say Y here to enable synchronous transfer negotiation with all
+ targets on the Acorn SCSI card.
+
+ In general, this improves performance; however some SCSI devices
+ don't implement it properly, so the safe answer is N.
+
+config SCSI_ARXESCSI
+ tristate "ARXE SCSI support"
+ depends on ARCH_ACORN && SCSI
+ help
+ Around 1991, Arxe Systems Limited released a high density floppy
+ disc interface for the Acorn Archimedes range, to allow the use of
+ HD discs from the then new A5000 on earlier models. This interface
+ was either sold on its own or with an integral SCSI controller.
+ Technical details on this NCR53c94-based device are available at
+ <http://www.cryton.demon.co.uk/acornbits/scsi_arxe.html>
+ Say Y here to compile in support for the SCSI controller.
+
+config SCSI_CUMANA_2
+ tristate "CumanaSCSI II support"
+ depends on ARCH_ACORN && SCSI
+ help
+ This enables support for the Cumana SCSI II card. If you have an
+ Acorn system with one of these, say Y. If unsure, say N.
+
+config SCSI_EESOXSCSI
+ tristate "EESOX support"
+ depends on ARCH_ACORN && SCSI
+ help
+ This enables support for the EESOX SCSI card. If you have an Acorn
+ system with one of these, say Y, otherwise say N.
+
+config SCSI_POWERTECSCSI
+ tristate "PowerTec support"
+ depends on ARCH_ACORN && SCSI
+ help
+ This enables support for the Powertec SCSI card on Acorn systems. If
+ you have one of these, say Y. If unsure, say N.
+
+comment "The following drivers are not fully supported"
+ depends on ARCH_ACORN && EXPERIMENTAL
+
+config SCSI_CUMANA_1
+ tristate "CumanaSCSI I support (EXPERIMENTAL)"
+ depends on ARCH_ACORN && EXPERIMENTAL && SCSI
+ help
+ This enables support for the Cumana SCSI I card. If you have an
+ Acorn system with one of these, say Y. If unsure, say N.
+
+config SCSI_ECOSCSI
+ tristate "EcoScsi support (EXPERIMENTAL)"
+ depends on ARCH_ACORN && EXPERIMENTAL && (ARCH_ARC || ARCH_A5K) && SCSI
+ help
+ This enables support for the EcoSCSI card -- a small card that sits
+ in the Econet socket. If you have an Acorn system with one of these,
+ say Y. If unsure, say N.
+
+config SCSI_OAK1
+ tristate "Oak SCSI support (EXPERIMENTAL)"
+ depends on ARCH_ACORN && EXPERIMENTAL && SCSI
+ help
+ This enables support for the Oak SCSI card. If you have an Acorn
+ system with one of these, say Y. If unsure, say N.
+
diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
new file mode 100644
index 000000000000..1fbd903f29bb
--- /dev/null
+++ b/drivers/acpi/Kconfig
@@ -0,0 +1,218 @@
+#
+# ACPI Configuration
+#
+
+menu "ACPI Support"
+
+config ACPI
+ bool "ACPI Support" if X86
+ default y if IA64 && (!IA64_HP_SIM || IA64_SGI_SN)
+ ---help---
+ Advanced Configuration and Power Interface (ACPI) support for
+ Linux requires an ACPI compliant platform (hardware/firmware),
+ and assumes the presence of OS-directed configuration and power
+ management (OSPM) software. This option will enlarge your
+ kernel by about 70K.
+
+ Linux ACPI provides a robust functional replacement for several
+ legacy configuration and power management intefaces, including
+ the Plug-and-Play BIOS specification (PnP BIOS), the
+ MultiProcessor Specification (MPS), and the Advanced Power
+ Management (APM) specification. If both ACPI and APM support
+ are configured, whichever is loaded first shall be used.
+
+ The ACPI SourceForge project contains the latest source code,
+ documentation, tools, mailing list subscription, and other
+ information. This project is available at:
+ <http://sourceforge.net/projects/acpi>
+
+ Linux support for ACPI is based on Intel Corporation's ACPI
+ Component Architecture (ACPI CA). For more information see:
+ <http://developer.intel.com/technology/iapc/acpi>
+
+ ACPI is an open industry specification co-developed by Compaq,
+ Intel, Microsoft, Phoenix, and Toshiba. The specification is
+ available at:
+ <http://www.acpi.info>
+
+config ACPI_HT_ONLY
+ bool "CPU Enumeration Only"
+ depends on X86 && ACPI && X86_LOCAL_APIC
+ ---help---
+ This option enables limited ACPI support -- just enough to
+ enumerate processors from the ACPI Multiple APIC Description
+ Table (MADT). Note that ACPI supports both logical (e.g. Hyper-
+ Threading) and physical processors, where the MultiProcessor
+ Specification (MPS) table only supports physical processors.
+
+ Full ACPI support (CONFIG_ACPI) is preferred. Use this option
+ only if you wish to limit ACPI's role to processor enumeration.
+
+ There is no command-line option to disable this, but the kernel
+ will fall back to the MPS table if the MADT is not present.
+
+config ACPI_BOOT
+ bool
+ depends on IA64 && (!IA64_HP_SIM || IA64_SGI_SN) || X86 && ACPI && !ACPI_HT_ONLY || X86 && ACPI
+ default y
+
+config ACPI_SLEEP
+ bool "Sleep States"
+ depends on X86 && ACPI && !ACPI_HT_ONLY
+ default SOFTWARE_SUSPEND
+ ---help---
+ This option adds support for ACPI suspend states.
+
+ With this option, you will be able to put the system "to sleep".
+ Sleep states are low power states for the system and devices. All
+ of the system operating state is saved to either memory or disk
+ (depending on the state), to allow the system to resume operation
+ quickly at your request.
+
+ Although this option sounds really nifty, barely any of the device
+ drivers have been converted to the new driver model and hence few
+ have proper power management support.
+
+ This option is not recommended for anyone except those doing driver
+ power management development.
+
+config ACPI_AC
+ tristate "AC Adapter"
+ depends on X86 && ACPI && !ACPI_HT_ONLY
+ help
+ This driver adds support for the AC Adapter object, which indicates
+ whether a system is on AC, or not. Typically, only mobile systems
+ have this object, since desktops are always on AC.
+
+config ACPI_BATTERY
+ tristate "Battery"
+ depends on X86 && ACPI && !ACPI_HT_ONLY
+ help
+ This driver adds support for battery information through
+ /proc/acpi/battery. If you have a mobile system with a battery,
+ say Y.
+
+config ACPI_BUTTON
+ tristate "Button"
+ depends on IA64 && !IA64_HP_SIM || X86 && ACPI && !ACPI_HT_ONLY
+ help
+ This driver registers for events based on buttons, such as the
+ power, sleep, and lid switch. In the future, a daemon will read
+ /proc/acpi/event and perform user-defined actions such as shutting
+ down the system. Until then, you can cat it, and see output when
+ a button is pressed.
+
+config ACPI_FAN
+ tristate "Fan"
+ depends on IA64 && !IA64_HP_SIM || X86 && ACPI && !ACPI_HT_ONLY
+ help
+ This driver adds support for ACPI fan devices, allowing user-mode
+ applications to perform basic fan control (on, off, status).
+
+config ACPI_PROCESSOR
+ tristate "Processor"
+ depends on IA64 && !IA64_HP_SIM || X86 && ACPI && !ACPI_HT_ONLY
+ help
+ This driver installs ACPI as the idle handler for Linux, and uses
+ ACPI C2 and C3 processor states to save power, on systems that
+ support it.
+
+config ACPI_PROCESSOR_PERF
+ bool "Processor Performance States"
+ depends on X86 && ACPI && !ACPI_HT_ONLY && CPU_FREQ
+ help
+ This driver adds support for CPU frequency scaling, if this is supported
+ by the hardware and the BIOS. If you are compiling for a mobile system,
+ say Y.
+
+config ACPI_THERMAL
+ tristate "Thermal Zone"
+ depends on ACPI_PROCESSOR
+ help
+ This driver adds support for ACPI thermal zones. Most mobile and
+ some desktop systems support ACPI thermal zones. It is HIGHLY
+ recommended that this option be enabled, as your processor(s)
+ may be damaged without it.
+
+config ACPI_NUMA
+ bool "NUMA support" if NUMA && (IA64 && !IA64_HP_SIM || X86 && ACPI && !ACPI_HT_ONLY)
+ default y if IA64 && IA64_SGI_SN
+
+config ACPI_TOSHIBA
+ tristate "Toshiba Laptop Extras"
+ depends on X86 && ACPI && !ACPI_HT_ONLY
+ ---help---
+ This driver adds support for access to certain system settings
+ on "legacy free" Toshiba laptops. These laptops can be recognized by
+ their lack of a BIOS setup menu and APM support.
+
+ On these machines, all system configuration is handled through the
+ ACPI. This driver is required for access to controls not covered
+ by the general ACPI drivers, such as LCD brightness, video output,
+ etc.
+
+ This driver differs from the non-ACPI Toshiba laptop driver (located
+ under "Processor type and features") in several aspects.
+ Configuration is accessed by reading and writing text files in the
+ /proc tree instead of by program interface to /dev. Furthermore, no
+ power management functions are exposed, as those are handled by the
+ general ACPI drivers.
+
+ More information about this driver is available at
+ <http://memebeam.org/toys/ToshibaAcpiDriver>.
+
+ If you have a legacy free Toshiba laptop (such as the Libretto L1
+ series), say Y.
+
+config ACPI_DEBUG
+ bool "Debug Statements"
+ depends on IA64 && !IA64_HP_SIM || X86 && ACPI && !ACPI_HT_ONLY
+ help
+ The ACPI driver can optionally report errors with a great deal
+ of verbosity. Saying Y enables these statements. This will increase
+ your kernel size by around 50K.
+
+config ACPI_BUS
+ bool
+ depends on IA64 && !IA64_HP_SIM || X86 && ACPI && !ACPI_HT_ONLY
+ default y
+
+config ACPI_INTERPRETER
+ bool
+ depends on IA64 && !IA64_HP_SIM || X86 && ACPI && !ACPI_HT_ONLY
+ default y
+
+config ACPI_EC
+ bool
+ depends on X86 && ACPI && !ACPI_HT_ONLY
+ default y
+ help
+ This driver is required on some systems for the proper operation of
+ the battery and thermal drivers. If you are compiling for a
+ mobile system, say Y.
+
+config ACPI_POWER
+ bool
+ depends on IA64 && !IA64_HP_SIM || X86 && ACPI && !ACPI_HT_ONLY
+ default y
+
+config ACPI_PCI
+ bool
+ depends on IA64 && !IA64_HP_SIM || X86 && ACPI && !ACPI_HT_ONLY
+ default PCI
+
+config ACPI_SYSTEM
+ bool
+ depends on IA64 && !IA64_HP_SIM || X86 && ACPI && !ACPI_HT_ONLY
+ default y
+ help
+ This driver will enable your system to shut down using ACPI, and
+ dump your ACPI DSDT table using /proc/acpi/dsdt.
+
+config ACPI_EFI
+ bool
+ depends on IA64 && (!IA64_HP_SIM || IA64_SGI_SN)
+ default y
+
+endmenu
+
diff --git a/drivers/atm/Kconfig b/drivers/atm/Kconfig
new file mode 100644
index 000000000000..74aff393cd4c
--- /dev/null
+++ b/drivers/atm/Kconfig
@@ -0,0 +1,439 @@
+#
+# ATM device configuration
+#
+
+menu "ATM drivers"
+ depends on NETDEVICES && ATM
+
+config ATM_TCP
+ tristate "ATM over TCP"
+ depends on INET
+ help
+ ATM over TCP driver. Useful mainly for development and for
+ experiments. If unsure, say N.
+
+config ATM_LANAI
+ tristate "Efficient Networks Speedstream 3010"
+ depends on PCI
+
+config ATM_ENI
+ tristate "Efficient Networks ENI155P"
+ depends on PCI
+ ---help---
+ Driver for the Efficient Networks ENI155p series and SMC ATM
+ Power155 155 Mbps ATM adapters. Both, the versions with 512KB and
+ 2MB on-board RAM (Efficient calls them "C" and "S", respectively),
+ and the FPGA and the ASIC Tonga versions of the board are supported.
+ The driver works with MMF (-MF or ...F) and UTP-5 (-U5 or ...D)
+ adapters.
+
+ This driver is also available as a module. If you want to compile
+ it as a module, say M here and read
+ <file:Documentation/modules.txt>. The module will be called eni.o.
+
+config ATM_ENI_DEBUG
+ bool "Enable extended debugging"
+ depends on ATM_ENI
+ help
+ Extended debugging records various events and displays that list
+ when an inconsistency is detected. This mechanism is faster than
+ generally using printks, but still has some impact on performance.
+ Note that extended debugging may create certain race conditions
+ itself. Enable this ONLY if you suspect problems with the driver.
+
+config ATM_ENI_TUNE_BURST
+ bool "Fine-tune burst settings"
+ depends on ATM_ENI
+ ---help---
+ In order to obtain good throughput, the ENI NIC can transfer
+ multiple words of data per PCI bus access cycle. Such a multi-word
+ transfer is called a burst.
+
+ The default settings for the burst sizes are suitable for most PCI
+ chipsets. However, in some cases, large bursts may overrun buffers
+ in the PCI chipset and cause data corruption. In such cases, large
+ bursts must be disabled and only (slower) small bursts can be used.
+ The burst sizes can be set independently in the send (TX) and
+ receive (RX) direction.
+
+ Note that enabling many different burst sizes in the same direction
+ may increase the cost of setting up a transfer such that the
+ resulting throughput is lower than when using only the largest
+ available burst size.
+
+ Also, sometimes larger bursts lead to lower throughput, e.g. on an
+ Intel 440FX board, a drop from 135 Mbps to 103 Mbps was observed
+ when going from 8W to 16W bursts.
+
+config ATM_ENI_BURST_TX_16W
+ bool "Enable 16W TX bursts (discouraged)"
+ depends on ATM_ENI_TUNE_BURST
+ help
+ Burst sixteen words at once in the send direction. This may work
+ with recent PCI chipsets, but is known to fail with older chipsets.
+
+config ATM_ENI_BURST_TX_8W
+ bool "Enable 8W TX bursts (recommended)"
+ depends on ATM_ENI_TUNE_BURST
+ help
+ Burst eight words at once in the send direction. This is the default
+ setting.
+
+config ATM_ENI_BURST_TX_4W
+ bool "Enable 4W TX bursts (optional)"
+ depends on ATM_ENI_TUNE_BURST
+ help
+ Burst four words at once in the send direction. You may want to try
+ this if you have disabled 8W bursts. Enabling 4W if 8W is also set
+ may or may not improve throughput.
+
+config ATM_ENI_BURST_TX_2W
+ bool "Enable 2W TX bursts (optional)"
+ depends on ATM_ENI_TUNE_BURST
+ help
+ Burst two words at once in the send direction. You may want to try
+ this if you have disabled 4W and 8W bursts. Enabling 2W if 4W or 8W
+ are also set may or may not improve throughput.
+
+config ATM_ENI_BURST_RX_16W
+ bool "Enable 16W RX bursts (discouraged)"
+ depends on ATM_ENI_TUNE_BURST
+ help
+ Burst sixteen words at once in the receive direction. This may work
+ with recent PCI chipsets, but is known to fail with older chipsets.
+
+config ATM_ENI_BURST_RX_8W
+ bool "Enable 8W RX bursts (discouraged)"
+ depends on ATM_ENI_TUNE_BURST
+ help
+ Burst eight words at once in the receive direction. This may work
+ with recent PCI chipsets, but is known to fail with older chipsets,
+ such as the Intel Neptune series.
+
+config ATM_ENI_BURST_RX_4W
+ bool "Enable 4W RX bursts (recommended)"
+ depends on ATM_ENI_TUNE_BURST
+ help
+ Burst four words at once in the receive direction. This is the
+ default setting. Enabling 4W if 8W is also set may or may not
+ improve throughput.
+
+config ATM_ENI_BURST_RX_2W
+ bool "Enable 2W RX bursts (optional)"
+ depends on ATM_ENI_TUNE_BURST
+ help
+ Burst two words at once in the receive direction. You may want to
+ try this if you have disabled 4W and 8W bursts. Enabling 2W if 4W or
+ 8W are also set may or may not improve throughput.
+
+config ATM_FIRESTREAM
+ tristate "Fujitsu FireStream (FS50/FS155) "
+ depends on PCI
+ help
+ Driver for the Fujitsu FireStream 155 (MB86697) and
+ FireStream 50 (MB86695) ATM PCI chips.
+
+ This driver is also available as a module. If you want to compile
+ it as a module, say M here and read
+ <file:Documentation/modules.txt>. The module will be called
+ firestream.o.
+
+config ATM_ZATM
+ tristate "ZeitNet ZN1221/ZN1225"
+ depends on PCI
+ help
+ Driver for the ZeitNet ZN1221 (MMF) and ZN1225 (UTP-5) 155 Mbps ATM
+ adapters.
+
+ This driver is also available as a module. If you want to compile
+ it as a module, say M here and read
+ <file:Documentation/modules.txt>. The module will be called zatm.o.
+
+config ATM_ZATM_DEBUG
+ bool "Enable extended debugging"
+ depends on ATM_ZATM
+ help
+ Extended debugging records various events and displays that list
+ when an inconsistency is detected. This mechanism is faster than
+ generally using printks, but still has some impact on performance.
+ Note that extended debugging may create certain race conditions
+ itself. Enable this ONLY if you suspect problems with the driver.
+
+config ATM_ZATM_EXACT_TS
+ bool "Enable usec resolution timestamps"
+ depends on ATM_ZATM && X86
+ help
+ The uPD98401 SAR chip supports a high-resolution timer (approx. 30
+ MHz) that is used for very accurate reception timestamps. Because
+ that timer overflows after 140 seconds, and also to avoid timer
+ drift, time measurements need to be periodically synchronized with
+ the normal system time. Enabling this feature will add some general
+ overhead for timer synchronization and also per-packet overhead for
+ time conversion.
+
+# bool 'Rolfs TI TNETA1570' CONFIG_ATM_TNETA1570 y
+# if [ "$CONFIG_ATM_TNETA1570" = "y" ]; then
+# bool ' Enable extended debugging' CONFIG_ATM_TNETA1570_DEBUG n
+# fi
+config ATM_NICSTAR
+ tristate "IDT 77201 (NICStAR) (ForeRunnerLE)"
+ depends on PCI
+ help
+ The NICStAR chipset family is used in a large number of ATM NICs for
+ 25 and for 155 Mbps, including IDT cards and the Fore ForeRunnerLE
+ series. Say Y if you have one of those.
+
+ This driver is also available as a module. If you want to compile
+ it as a module, say M here and read
+ <file:Documentation/modules.txt>. The module will be called
+ nicstar.o.
+
+config ATM_NICSTAR_USE_SUNI
+ bool "Use suni PHY driver (155Mbps)"
+ depends on ATM_NICSTAR
+ help
+ Support for the S-UNI and compatible PHYsical layer chips. These are
+ found in most 155Mbps NICStAR based ATM cards, namely in the
+ ForeRunner LE155 cards. This driver provides detection of cable~
+ removal and reinsertion and provides some statistics. This driver
+ doesn't have removal capability when compiled as a module, so if you
+ need that capability don't include S-UNI support (it's not needed to
+ make the card work).
+
+config ATM_NICSTAR_USE_IDT77105
+ bool "Use IDT77015 PHY driver (25Mbps)"
+ depends on ATM_NICSTAR
+ help
+ Support for the PHYsical layer chip in ForeRunner LE25 cards. In
+ addition to cable removal/reinsertion detection, this driver allows
+ you to control the loopback mode of the chip via a dedicated IOCTL.
+ This driver is required for proper handling of temporary carrier
+ loss, so if you have a 25Mbps NICStAR based ATM card you must say Y.
+
+config ATM_IDT77252
+ tristate "IDT 77252 (NICStAR II)"
+ depends on PCI
+ help
+ Driver for the IDT 77252 ATM PCI chips.
+
+ This driver is also available as a module. If you want to compile
+ it as a module, say M here and read
+ <file:Documentation/modules.txt>. The module will be called idt77252.o
+
+config ATM_IDT77252_DEBUG
+ bool "Enable debugging messages"
+ depends on ATM_IDT77252
+ help
+ Somewhat useful debugging messages are available. The choice of
+ messages is controlled by a bitmap. This may be specified as a
+ module argument. See the file <file:drivers/atm/idt77252.h> for
+ the meanings of the bits in the mask.
+
+ When active, these messages can have a significant impact on the
+ speed of the driver, and the size of your syslog files! When
+ inactive, they will have only a modest impact on performance.
+
+config ATM_IDT77252_RCV_ALL
+ bool "Receive ALL cells in raw queue"
+ depends on ATM_IDT77252
+ help
+ Enable receiving of all cells on the ATM link, that do not match
+ an open connection in the raw cell queue of the driver. Useful
+ for debugging or special applications only, so the safe answer is N.
+
+config ATM_IDT77252_USE_SUNI
+ bool
+ depends on ATM_IDT77252
+ default y
+
+config ATM_AMBASSADOR
+ tristate "Madge Ambassador (Collage PCI 155 Server)"
+ depends on PCI
+ help
+ This is a driver for ATMizer based ATM card produced by Madge
+ Networks Ltd. Say Y (or M to compile as a module named ambassador.o)
+ here if you have one of these cards.
+
+config ATM_AMBASSADOR_DEBUG
+ bool "Enable debugging messages"
+ depends on ATM_AMBASSADOR
+ ---help---
+ Somewhat useful debugging messages are available. The choice of
+ messages is controlled by a bitmap. This may be specified as a
+ module argument (kernel command line argument as well?), changed
+ dynamically using an ioctl (not yet) or changed by sending the
+ string "Dxxxx" to VCI 1023 (where x is a hex digit). See the file
+ <file:drivers/atm/ambassador.h> for the meanings of the bits in the
+ mask.
+
+ When active, these messages can have a significant impact on the
+ speed of the driver, and the size of your syslog files! When
+ inactive, they will have only a modest impact on performance.
+
+config ATM_HORIZON
+ tristate "Madge Horizon [Ultra] (Collage PCI 25 and Collage PCI 155 Client)"
+ depends on PCI
+ help
+ This is a driver for the Horizon chipset ATM adapter cards once
+ produced by Madge Networks Ltd. Say Y (or M to compile as a module
+ named horizon.o) here if you have one of these cards.
+
+config ATM_HORIZON_DEBUG
+ bool "Enable debugging messages"
+ depends on ATM_HORIZON
+ ---help---
+ Somewhat useful debugging messages are available. The choice of
+ messages is controlled by a bitmap. This may be specified as a
+ module argument (kernel command line argument as well?), changed
+ dynamically using an ioctl (not yet) or changed by sending the
+ string "Dxxxx" to VCI 1023 (where x is a hex digit). See the file
+ <file:drivers/atm/horizon.h> for the meanings of the bits in the
+ mask.
+
+ When active, these messages can have a significant impact on the
+ speed of the driver, and the size of your syslog files! When
+ inactive, they will have only a modest impact on performance.
+
+config ATM_IA
+ tristate "Interphase ATM PCI x575/x525/x531"
+ depends on PCI
+ ---help---
+ This is a driver for the Interphase (i)ChipSAR adapter cards
+ which include a variety of variants in term of the size of the
+ control memory (128K-1KVC, 512K-4KVC), the size of the packet
+ memory (128K, 512K, 1M), and the PHY type (Single/Multi mode OC3,
+ UTP155, UTP25, DS3 and E3). Go to:
+ <http://www.iphase.com/products/ClassSheet.cfm?ClassID=ATM>
+ for more info about the cards. Say Y (or M to compile as a module
+ named iphase.o) here if you have one of these cards.
+
+ See the file <file:Documentation/networking/iphase.txt> for further
+ details.
+
+config ATM_IA_DEBUG
+ bool "Enable debugging messages"
+ depends on ATM_IA
+ ---help---
+ Somewhat useful debugging messages are available. The choice of
+ messages is controlled by a bitmap. This may be specified as a
+ module argument (kernel command line argument as well?), changed
+ dynamically using an ioctl (Get the debug utility, iadbg, from
+ <ftp://ftp.iphase.com/pub/atm/pci/>).
+
+ See the file <file:drivers/atm/iphase.h> for the meanings of the
+ bits in the mask.
+
+ When active, these messages can have a significant impact on the
+ speed of the driver, and the size of your syslog files! When
+ inactive, they will have only a modest impact on performance.
+
+config ATM_FORE200E_MAYBE
+ tristate "FORE Systems 200E-series"
+ depends on PCI || SBUS
+ ---help---
+ This is a driver for the FORE Systems 200E-series ATM adapter
+ cards. It simultaneously supports PCA-200E and SBA-200E models
+ on PCI and SBUS hosts. Say Y (or M to compile as a module
+ named fore_200e.o) here if you have one of these ATM adapters.
+
+ Note that the driver will actually be compiled only if you
+ additionally enable the support for PCA-200E and/or SBA-200E
+ cards.
+
+ See the file <file:Documentation/networking/fore200e.txt> for
+ further details.
+
+config ATM_FORE200E_PCA
+ bool "PCA-200E support"
+ depends on ATM_FORE200E_MAYBE && PCI
+ help
+ Say Y here if you want your PCA-200E cards to be probed.
+
+config ATM_FORE200E_PCA_DEFAULT_FW
+ bool "Use default PCA-200E firmware (normally enabled)"
+ depends on ATM_FORE200E_PCA
+ help
+ Use the default PCA-200E firmware data shipped with the driver.
+
+ Normal users do not have to deal with the firmware stuff, so
+ they should say Y here.
+
+config ATM_FORE200E_PCA_FW
+ string "Pathname of user-supplied binary firmware"
+ depends on ATM_FORE200E_PCA && !ATM_FORE200E_PCA_DEFAULT_FW
+ default ""
+ help
+ This defines the pathname of an alternative PCA-200E binary
+ firmware image supplied by the user. This pathname may be
+ absolute or relative to the drivers/atm directory.
+
+ The driver comes with an adequate firmware image, so normal users do
+ not have to supply an alternative one. They just say Y to "Use
+ default PCA-200E firmware" instead.
+
+config ATM_FORE200E_SBA
+ bool "SBA-200E support"
+ depends on ATM_FORE200E_MAYBE && SBUS
+ help
+ Say Y here if you want your SBA-200E cards to be probed.
+
+config ATM_FORE200E_SBA_DEFAULT_FW
+ bool "Use default SBA-200E firmware (normally enabled)"
+ depends on ATM_FORE200E_SBA
+ help
+ Use the default SBA-200E firmware data shipped with the driver.
+
+ Normal users do not have to deal with the firmware stuff, so
+ they should say Y here.
+
+config ATM_FORE200E_SBA_FW
+ string "Pathname of user-supplied binary firmware"
+ depends on ATM_FORE200E_SBA && !ATM_FORE200E_SBA_DEFAULT_FW
+ default ""
+ help
+ This defines the pathname of an alternative SBA-200E binary
+ firmware image supplied by the user. This pathname may be
+ absolute or relative to the drivers/atm directory.
+
+ The driver comes with an adequate firmware image, so normal users do
+ not have to supply an alternative one. They just say Y to "Use
+ default SBA-200E firmware", above.
+
+config ATM_FORE200E_TX_RETRY
+ int "Maximum number of tx retries"
+ depends on (PCI || SBUS) && (ATM_FORE200E_PCA || ATM_FORE200E_SBA)
+ default "16"
+ ---help---
+ Specifies the number of times the driver attempts to transmit
+ a message before giving up, if the transmit queue of the ATM card
+ is transiently saturated.
+
+ Saturation of the transmit queue may occur only under extreme
+ conditions, e.g. when a fast host continuously submits very small
+ frames (<64 bytes) or raw AAL0 cells (48 bytes) to the ATM adapter.
+
+ Note that under common conditions, it is unlikely that you encounter
+ a saturation of the transmit queue, so the retry mechanism never
+ comes into play.
+
+config ATM_FORE200E_DEBUG
+ int "Debugging level (0-3)"
+ depends on (PCI || SBUS) && (ATM_FORE200E_PCA || ATM_FORE200E_SBA)
+ default "0"
+ help
+ Specifies the level of debugging messages issued by the driver.
+ The verbosity of the driver increases with the value of this
+ parameter.
+
+ When active, these messages can have a significant impact on
+ the performances of the driver, and the size of your syslog files!
+ Keep the debugging level to 0 during normal operations.
+
+config ATM_FORE200E
+ tristate
+ depends on (PCI || SBUS) && (ATM_FORE200E_PCA || ATM_FORE200E_SBA)
+ default m if ATM_FORE200E_MAYBE!=y
+ default y if ATM_FORE200E_MAYBE=y
+
+endmenu
+
diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
new file mode 100644
index 000000000000..dd50684e73d5
--- /dev/null
+++ b/drivers/block/Kconfig
@@ -0,0 +1,343 @@
+#
+# Block device driver configuration
+#
+
+menu "Block devices"
+
+config BLK_DEV_FD
+ tristate "Normal floppy disk support"
+ ---help---
+ If you want to use the floppy disk drive(s) of your PC under Linux,
+ say Y. Information about this driver, especially important for IBM
+ Thinkpad users, is contained in <file:Documentation/floppy.txt>.
+ That file also contains the location of the Floppy driver FAQ as
+ well as location of the fdutils package used to configure additional
+ parameters of the driver at run time.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called floppy.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config AMIGA_FLOPPY
+ tristate "Amiga floppy support"
+ depends on AMIGA
+
+config ATARI_FLOPPY
+ tristate "Atari floppy support"
+ depends on ATARI
+
+config BLK_DEV_SWIM_IOP
+ bool "Macintosh IIfx/Quadra 900/Quadra 950 floppy support (EXPERIMENTAL)"
+ depends on MAC && EXPERIMENTAL
+ help
+ Say Y here to support the SWIM (Super Woz Integrated Machine) IOP
+ floppy controller on the Macintosh IIfx and Quadra 900/950.
+
+config BLK_DEV_PS2
+ tristate "PS/2 ESDI hard disk support"
+ depends on MCA
+ help
+ Say Y here if you have a PS/2 machine with a MCA bus and an ESDI
+ hard disk.
+
+ If you want to compile the driver as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called ps2esdi.o.
+
+config AMIGA_Z2RAM
+ tristate "Amiga Zorro II ramdisk support"
+ depends on ZORRO
+ help
+ This enables support for using Chip RAM and Zorro II RAM as a
+ ramdisk or as a swap partition. Say Y if you want to include this
+ driver in the kernel. This driver is also available as a module
+ ( = code which can be inserted in and removed from the running
+ kernel whenever you want). The module is called z2ram.o. If you want
+ to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>.
+
+config ATARI_ACSI
+ tristate "Atari ACSI support"
+ depends on ATARI
+ ---help---
+ This enables support for the Atari ACSI interface. The driver
+ supports hard disks and CD-ROMs, which have 512-byte sectors, or can
+ be switched to that mode. Due to the ACSI command format, only disks
+ up to 1 GB are supported. Special support for certain ACSI to SCSI
+ adapters, which could relax that, isn't included yet. The ACSI
+ driver is also the basis for certain other drivers for devices
+ attached to the ACSI bus: Atari SLM laser printer, BioNet-100
+ Ethernet, and PAMsNet Ethernet. If you want to use one of these
+ devices, you need ACSI support, too.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called acsi.o.
+
+comment "Some devices (e.g. CD jukebox) support multiple LUNs"
+ depends on ATARI && ATARI_ACSI
+
+config ACSI_MULTI_LUN
+ bool "Probe all LUNs on each ACSI device"
+ depends on ATARI_ACSI
+ help
+ If you have a ACSI device that supports more than one LUN (Logical
+ Unit Number), e.g. a CD jukebox, you should say Y here so that all
+ will be found by the ACSI driver. An ACSI device with multiple LUNs
+ acts logically like multiple ACSI devices. The vast majority of ACSI
+ devices have only one LUN, and so most people can say N here and
+ should in fact do so, because it is safer.
+
+config ATARI_SLM
+ tristate "Atari SLM laser printer support"
+ depends on ATARI && ATARI_ACSI!=n
+ help
+ If you have an Atari SLM laser printer, say Y to include support for
+ it in the kernel. Otherwise, say N. This driver is also available as
+ a module ( = code which can be inserted in and removed from the
+ running kernel whenever you want). The module will be called
+ acsi_slm.o. Be warned: the driver needs much ST-RAM and can cause
+ problems due to that fact!
+
+config BLK_DEV_XD
+ tristate "XT hard disk support"
+ depends on ISA
+ help
+ Very old 8 bit hard disk controllers used in the IBM XT computer
+ will be supported if you say Y here.
+
+ If you want to compile the driver as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called xd.o.
+
+ It's pretty unlikely that you have one of these: say N.
+
+config PARIDE
+ tristate "Parallel port IDE device support"
+ depends on PARPORT
+ ---help---
+ There are many external CD-ROM and disk devices that connect through
+ your computer's parallel port. Most of them are actually IDE devices
+ using a parallel port IDE adapter. This option enables the PARIDE
+ subsystem which contains drivers for many of these external drives.
+ Read <file:Documentation/paride.txt> for more information.
+
+ If you have said Y to the "Parallel-port support" configuration
+ option, you may share a single port between your printer and other
+ parallel port devices. Answer Y to build PARIDE support into your
+ kernel, or M if you would like to build it as a loadable module. If
+ your parallel port support is in a loadable module, you must build
+ PARIDE as a module. If you built PARIDE support into your kernel,
+ you may still build the individual protocol modules and high-level
+ drivers as loadable modules. If you build this support as a module,
+ it will be called paride.o.
+
+ To use the PARIDE support, you must say Y or M here and also to at
+ least one high-level driver (e.g. "Parallel port IDE disks",
+ "Parallel port ATAPI CD-ROMs", "Parallel port ATAPI disks" etc.) and
+ to at least one protocol driver (e.g. "ATEN EH-100 protocol",
+ "MicroSolutions backpack protocol", "DataStor Commuter protocol"
+ etc.).
+
+source "drivers/block/paride/Kconfig"
+
+config BLK_CPQ_DA
+ tristate "Compaq SMART2 support"
+ depends on PCI
+ help
+ This is the driver for Compaq Smart Array controllers. Everyone
+ using these boards should say Y here. See the file
+ <file:Documentation/cpqarray.txt> for the current list of boards
+ supported by this driver, and for further information on the use of
+ this driver.
+
+config BLK_CPQ_CISS_DA
+ tristate "Compaq Smart Array 5xxx support"
+ depends on PCI
+ help
+ This is the driver for Compaq Smart Array 5xxx controllers.
+ Everyone using these boards should say Y here.
+ See <file:Documentation/cciss.txt> for the current list of
+ boards supported by this driver, and for further information
+ on the use of this driver.
+
+config CISS_SCSI_TAPE
+ bool "SCSI tape drive support for Smart Array 5xxx"
+ depends on BLK_CPQ_CISS_DA && SCSI
+ help
+ When enabled (Y), this option allows SCSI tape drives and SCSI medium
+ changers (tape robots) to be accessed via a Compaq 5xxx array
+ controller. (See Documentation/cciss.txt for more details.)
+
+ "SCSI support" and "SCSI tape support" must also be enabled for this
+ option to work.
+
+ When this option is disabled (N), the SCSI portion of the driver
+ is not compiled.
+
+config BLK_DEV_DAC960
+ tristate "Mylex DAC960/DAC1100 PCI RAID Controller support"
+ depends on PCI
+ help
+ This driver adds support for the Mylex DAC960, AcceleRAID, and
+ eXtremeRAID PCI RAID controllers. See the file
+ <file:Documentation/README.DAC960> for further information about
+ this driver.
+
+ If you want to compile the driver as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called DAC960.o.
+
+config BLK_DEV_UMEM
+ tristate "Micro Memory MM5415 Battery Backed RAM support (EXPERIMENTAL)"
+ depends on PCI && EXPERIMENTAL
+ ---help---
+ Saying Y here will include support for the MM5415 family of
+ battery backed (Non-volatile) RAM cards.
+ http://www.umem.com/
+
+ The cards appear as block devices that can be partitioned into
+ as many as 15 partitions.
+
+ If you want to compile this driver as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read Documentation/modules.txt. The module will be
+ called umem.o.
+
+ The umem driver has not yet been allocated a MAJOR number, so
+ one is chosen dynamically. Use "devfs" or look in /proc/devices
+ for the device number
+
+config BLK_DEV_LOOP
+ tristate "Loopback device support"
+ ---help---
+ Saying Y here will allow you to use a regular file as a block
+ device; you can then create a file system on that block device and
+ mount it just as you would mount other block devices such as hard
+ drive partitions, CD-ROM drives or floppy drives. The loop devices
+ are block special device files with major number 7 and typically
+ called /dev/loop0, /dev/loop1 etc.
+
+ This is useful if you want to check an ISO 9660 file system before
+ burning the CD, or if you want to use floppy images without first
+ writing them to floppy. Furthermore, some Linux distributions avoid
+ the need for a dedicated Linux partition by keeping their complete
+ root file system inside a DOS FAT file using this loop device
+ driver.
+
+ The loop device driver can also be used to "hide" a file system in a
+ disk partition, floppy, or regular file, either using encryption
+ (scrambling the data) or steganography (hiding the data in the low
+ bits of, say, a sound file). This is also safe if the file resides
+ on a remote file server. If you want to do this, you will first have
+ to acquire and install a kernel patch from
+ <ftp://ftp.kerneli.org/pub/kerneli/>, and then you need to
+ say Y to this option.
+
+ Note that alternative ways to use encrypted file systems are
+ provided by the cfs package, which can be gotten from
+ <ftp://ftp.kerneli.org/pub/kerneli/net-source/>, and the newer tcfs
+ package, available at <http://tcfs.dia.unisa.it/>. You do not need
+ to say Y here if you want to use one of these. However, using cfs
+ requires saying Y to "NFS file system support" below while using
+ tcfs requires applying a kernel patch. An alternative steganography
+ solution is provided by StegFS, also available from
+ <ftp://ftp.kerneli.org/pub/kerneli/net-source/>.
+
+ To use the loop device, you need the losetup utility and a recent
+ version of the mount program, both contained in the util-linux
+ package. The location and current version number of util-linux is
+ contained in the file <file:Documentation/Changes>.
+
+ Note that this loop device has nothing to do with the loopback
+ device used for network connections from the machine to itself.
+
+ If you want to compile this driver as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called loop.o.
+
+ Most users will answer N here.
+
+config BLK_DEV_NBD
+ tristate "Network block device support"
+ depends on NET
+ ---help---
+ Saying Y here will allow your computer to be a client for network
+ block devices, i.e. it will be able to use block devices exported by
+ servers (mount file systems on them etc.). Communication between
+ client and server works over TCP/IP networking, but to the client
+ program this is hidden: it looks like a regular local file access to
+ a block device special file such as /dev/nd0.
+
+ Network block devices also allows you to run a block-device in
+ userland (making server and client physically the same computer,
+ communicating using the loopback network device).
+
+ Read <file:Documentation/nbd.txt> for more information, especially
+ about where to find the server code, which runs in user space and
+ does not need special kernel support.
+
+ Note that this has nothing to do with the network file systems NFS
+ or Coda; you can say N here even if you intend to use NFS or Coda.
+
+ If you want to compile this driver as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called nbd.o.
+
+ If unsure, say N.
+
+config BLK_DEV_RAM
+ tristate "RAM disk support"
+ ---help---
+ Saying Y here will allow you to use a portion of your RAM memory as
+ a block device, so that you can make file systems on it, read and
+ write to it and do all the other things that you can do with normal
+ block devices (such as hard drives). It is usually used to load and
+ store a copy of a minimal root file system off of a floppy into RAM
+ during the initial install of Linux.
+
+ Note that the kernel command line option "ramdisk=XX" is now
+ obsolete. For details, read <file:Documentation/ramdisk.txt>.
+
+ If you want to compile this as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M and read <file:Documentation/modules.txt>. The module will be
+ called rd.o.
+
+ Most normal users won't need the RAM disk functionality, and can
+ thus say N here.
+
+config BLK_DEV_RAM_SIZE
+ int "Default RAM disk size"
+ depends on BLK_DEV_RAM
+ default "4096"
+ help
+ The default value is 4096. Only change this if you know what are
+ you doing. If you are using IBM S/390, then set this to 8192.
+
+config BLK_DEV_INITRD
+ bool "Initial RAM disk (initrd) support"
+ depends on BLK_DEV_RAM=y
+ help
+ The initial RAM disk is a RAM disk that is loaded by the boot loader
+ (loadlin or lilo) and that is mounted as root before the normal boot
+ procedure. It is typically used to load modules needed to mount the
+ "real" root file system, etc. See <file:Documentation/initrd.txt>
+ for details.
+
+config LBD
+ bool "Support for Large Block Devices"
+ depends on X86
+ help
+ Say Y here if you want to attach large (bigger than 2TB) discs to
+ your machine, or if you want to have a raid or loopback device
+ bigger than 2TB. Otherwise say N.
+
+endmenu
+
diff --git a/drivers/block/paride/Kconfig b/drivers/block/paride/Kconfig
new file mode 100644
index 000000000000..6660645324ae
--- /dev/null
+++ b/drivers/block/paride/Kconfig
@@ -0,0 +1,305 @@
+#
+# PARIDE configuration
+#
+# PARIDE doesn't need PARPORT, but if PARPORT is configured as a module,
+# PARIDE must also be a module. The bogus CONFIG_PARIDE_PARPORT option
+# controls the choices given to the user ...
+config PARIDE_PARPORT
+ tristate
+ depends on PARIDE!=n
+ default m if PARPORT=m
+ default y if PARPORT!=m
+
+comment "Parallel IDE high-level drivers"
+ depends on PARIDE
+
+config PARIDE_PD
+ tristate "Parallel port IDE disks"
+ depends on PARIDE
+ help
+ This option enables the high-level driver for IDE-type disk devices
+ connected through a parallel port. If you chose to build PARIDE
+ support into your kernel, you may answer Y here to build in the
+ parallel port IDE driver, otherwise you should answer M to build
+ it as a loadable module. The module will be called pd.o. You
+ must also have at least one parallel port protocol driver in your
+ system. Among the devices supported by this driver are the SyQuest
+ EZ-135, EZ-230 and SparQ drives, the Avatar Shark and the backpack
+ hard drives from MicroSolutions.
+
+config PARIDE_PCD
+ tristate "Parallel port ATAPI CD-ROMs"
+ depends on PARIDE
+ ---help---
+ This option enables the high-level driver for ATAPI CD-ROM devices
+ connected through a parallel port. If you chose to build PARIDE
+ support into your kernel, you may answer Y here to build in the
+ parallel port ATAPI CD-ROM driver, otherwise you should answer M to
+ build it as a loadable module. The module will be called pcd.o. You
+ must also have at least one parallel port protocol driver in your
+ system. Among the devices supported by this driver are the
+ MicroSolutions backpack CD-ROM drives and the Freecom Power CD. If
+ you have such a CD-ROM drive, you should also say Y or M to "ISO
+ 9660 CD-ROM file system support" below, because that's the file
+ system used on CD-ROMs.
+
+config PARIDE_PF
+ tristate "Parallel port ATAPI disks"
+ depends on PARIDE
+ help
+ This option enables the high-level driver for ATAPI disk devices
+ connected through a parallel port. If you chose to build PARIDE
+ support into your kernel, you may answer Y here to build in the
+ parallel port ATAPI disk driver, otherwise you should answer M
+ to build it as a loadable module. The module will be called pf.o.
+ You must also have at least one parallel port protocol driver in
+ your system. Among the devices supported by this driver are the
+ MicroSolutions backpack PD/CD drive and the Imation Superdisk
+ LS-120 drive.
+
+config PARIDE_PT
+ tristate "Parallel port ATAPI tapes"
+ depends on PARIDE
+ help
+ This option enables the high-level driver for ATAPI tape devices
+ connected through a parallel port. If you chose to build PARIDE
+ support into your kernel, you may answer Y here to build in the
+ parallel port ATAPI disk driver, otherwise you should answer M
+ to build it as a loadable module. The module will be called pt.o.
+ You must also have at least one parallel port protocol driver in
+ your system. Among the devices supported by this driver is the
+ parallel port version of the HP 5GB drive.
+
+config PARIDE_PG
+ tristate "Parallel port generic ATAPI devices"
+ depends on PARIDE
+ ---help---
+ This option enables a special high-level driver for generic ATAPI
+ devices connected through a parallel port. The driver allows user
+ programs, such as cdrtools, to send ATAPI commands directly to a
+ device.
+
+ If you chose to build PARIDE support into your kernel, you may
+ answer Y here to build in the parallel port generic ATAPI driver,
+ otherwise you should answer M to build it as a loadable module. The
+ module will be called pg.o.
+
+ You must also have at least one parallel port protocol driver in
+ your system.
+
+ This driver implements an API loosely related to the generic SCSI
+ driver. See <file:include/linux/pg.h>. for details.
+
+ You can obtain the most recent version of cdrtools from
+ <ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/>. Versions 1.6.1a3 and
+ later fully support this driver.
+
+comment "Parallel IDE protocol modules"
+ depends on PARIDE
+
+config PARIDE_ATEN
+ tristate "ATEN EH-100 protocol"
+ depends on PARIDE
+ help
+ This option enables support for the ATEN EH-100 parallel port IDE
+ protocol. This protocol is used in some inexpensive low performance
+ parallel port kits made in Hong Kong. If you chose to build PARIDE
+ support into your kernel, you may answer Y here to build in the
+ protocol driver, otherwise you should answer M to build it as a
+ loadable module. The module will be called aten.o. You must also
+ have a high-level driver for the type of device that you want to
+ support.
+
+config PARIDE_BPCK
+ tristate "MicroSolutions backpack (Series 5) protocol"
+ depends on PARIDE
+ ---help---
+ This option enables support for the Micro Solutions BACKPACK
+ parallel port Series 5 IDE protocol. (Most BACKPACK drives made
+ before 1999 were Series 5) Series 5 drives will NOT always have the
+ Series noted on the bottom of the drive. Series 6 drivers will.
+
+ In other words, if your BACKPACK drive dosen't say "Series 6" on the
+ bottom, enable this option.
+
+ If you chose to build PARIDE support into your kernel, you may
+ answer Y here to build in the protocol driver, otherwise you should
+ answer M to build it as a loadable module. The module will be
+ called bpck.o. You must also have a high-level driver for the type
+ of device that you want to support.
+
+config PARIDE_BPCK6
+ tristate "MicroSolutions backpack (Series 6) protocol"
+ depends on PARIDE
+ ---help---
+ This option enables support for the Micro Solutions BACKPACK
+ parallel port Series 6 IDE protocol. (Most BACKPACK drives made
+ after 1999 were Series 6) Series 6 drives will have the Series noted
+ on the bottom of the drive. Series 5 drivers don't always have it
+ noted.
+
+ In other words, if your BACKPACK drive says "Series 6" on the
+ bottom, enable this option.
+
+ If you chose to build PARIDE support into your kernel, you may
+ answer Y here to build in the protocol driver, otherwise you should
+ answer M to build it as a loadable module. The module will be
+ called bpck6.o. You must also have a high-level driver for the type
+ of device that you want to support.
+
+config PARIDE_COMM
+ tristate "DataStor Commuter protocol"
+ depends on PARIDE
+ help
+ This option enables support for the Commuter parallel port IDE
+ protocol from DataStor. If you chose to build PARIDE support
+ into your kernel, you may answer Y here to build in the protocol
+ driver, otherwise you should answer M to build it as a loadable
+ module. The module will be called comm.o. You must also have
+ a high-level driver for the type of device that you want to support.
+
+config PARIDE_DSTR
+ tristate "DataStor EP-2000 protocol"
+ depends on PARIDE
+ help
+ This option enables support for the EP-2000 parallel port IDE
+ protocol from DataStor. If you chose to build PARIDE support
+ into your kernel, you may answer Y here to build in the protocol
+ driver, otherwise you should answer M to build it as a loadable
+ module. The module will be called dstr.o. You must also have
+ a high-level driver for the type of device that you want to support.
+
+config PARIDE_FIT2
+ tristate "FIT TD-2000 protocol"
+ depends on PARIDE
+ help
+ This option enables support for the TD-2000 parallel port IDE
+ protocol from Fidelity International Technology. This is a simple
+ (low speed) adapter that is used in some portable hard drives. If
+ you chose to build PARIDE support into your kernel, you may answer Y
+ here to build in the protocol driver, otherwise you should answer M
+ to build it as a loadable module. The module will be called ktti.o.
+ You must also have a high-level driver for the type of device that
+ you want to support.
+
+config PARIDE_FIT3
+ tristate "FIT TD-3000 protocol"
+ depends on PARIDE
+ help
+ This option enables support for the TD-3000 parallel port IDE
+ protocol from Fidelity International Technology. This protocol is
+ used in newer models of their portable disk, CD-ROM and PD/CD
+ devices. If you chose to build PARIDE support into your kernel, you
+ may answer Y here to build in the protocol driver, otherwise you
+ should answer M to build it as a loadable module. The module will be
+ called fit3.o. You must also have a high-level driver for the type
+ of device that you want to support.
+
+config PARIDE_EPAT
+ tristate "Shuttle EPAT/EPEZ protocol"
+ depends on PARIDE
+ help
+ This option enables support for the EPAT parallel port IDE protocol.
+ EPAT is a parallel port IDE adapter manufactured by Shuttle
+ Technology and widely used in devices from major vendors such as
+ Hewlett-Packard, SyQuest, Imation and Avatar. If you chose to build
+ PARIDE support into your kernel, you may answer Y here to build in
+ the protocol driver, otherwise you should answer M to build it as a
+ loadable module. The module will be called epat.o. You must also
+ have a high-level driver for the type of device that you want to
+ support.
+
+config PARIDE_EPATC8
+ bool "Support c7/c8 chips (EXPERIMENTAL)"
+ depends on PARIDE_EPAT && EXPERIMENTAL
+ help
+ This option enables support for the newer Shuttle EP1284 (aka c7 and
+ c8) chip. You need this if you are using any recent Imation SuperDisk
+ (LS-120) drive.
+
+config PARIDE_EPIA
+ tristate "Shuttle EPIA protocol"
+ depends on PARIDE
+ help
+ This option enables support for the (obsolete) EPIA parallel port
+ IDE protocol from Shuttle Technology. This adapter can still be
+ found in some no-name kits. If you chose to build PARIDE support
+ into your kernel, you may answer Y here to build in the protocol
+ driver, otherwise you should answer M to build it as a loadable
+ module. The module will be called epia.o. You must also have a
+ high-level driver for the type of device that you want to support.
+
+config PARIDE_FRIQ
+ tristate "Freecom IQ ASIC-2 protocol"
+ depends on PARIDE
+ help
+ This option enables support for version 2 of the Freecom IQ parallel
+ port IDE adapter. This adapter is used by the Maxell Superdisk
+ drive. If you chose to build PARIDE support into your kernel, you
+ may answer Y here to build in the protocol driver, otherwise you
+ should answer M to build it as a loadable module. The module will be
+ called friq.o. You must also have a high-level driver for the type
+ of device that you want to support.
+
+config PARIDE_FRPW
+ tristate "FreeCom power protocol"
+ depends on PARIDE
+ help
+ This option enables support for the Freecom power parallel port IDE
+ protocol. If you chose to build PARIDE support into your kernel, you
+ may answer Y here to build in the protocol driver, otherwise you
+ should answer M to build it as a loadable module. The module will be
+ called frpw.o. You must also have a high-level driver for the type
+ of device that you want to support.
+
+config PARIDE_KBIC
+ tristate "KingByte KBIC-951A/971A protocols"
+ depends on PARIDE
+ help
+ This option enables support for the KBIC-951A and KBIC-971A parallel
+ port IDE protocols from KingByte Information Corp. KingByte's
+ adapters appear in many no-name portable disk and CD-ROM products,
+ especially in Europe. If you chose to build PARIDE support into your
+ kernel, you may answer Y here to build in the protocol driver,
+ otherwise you should answer M to build it as a loadable module. The
+ module will be called kbic.o. You must also have a high-level driver
+ for the type of device that you want to support.
+
+config PARIDE_KTTI
+ tristate "KT PHd protocol"
+ depends on PARIDE
+ help
+ This option enables support for the "PHd" parallel port IDE protocol
+ from KT Technology. This is a simple (low speed) adapter that is
+ used in some 2.5" portable hard drives. If you chose to build PARIDE
+ support into your kernel, you may answer Y here to build in the
+ protocol driver, otherwise you should answer M to build it as a
+ loadable module. The module will be called ktti.o. You must also
+ have a high-level driver for the type of device that you want to
+ support.
+
+config PARIDE_ON20
+ tristate "OnSpec 90c20 protocol"
+ depends on PARIDE
+ help
+ This option enables support for the (obsolete) 90c20 parallel port
+ IDE protocol from OnSpec (often marketed under the ValuStore brand
+ name). If you chose to build PARIDE support into your kernel, you
+ may answer Y here to build in the protocol driver, otherwise you
+ should answer M to build it as a loadable module. The module will
+ be called on20.o. You must also have a high-level driver for the
+ type of device that you want to support.
+
+config PARIDE_ON26
+ tristate "OnSpec 90c26 protocol"
+ depends on PARIDE
+ help
+ This option enables support for the 90c26 parallel port IDE protocol
+ from OnSpec Electronics (often marketed under the ValuStore brand
+ name). If you chose to build PARIDE support into your kernel, you
+ may answer Y here to build in the protocol driver, otherwise you
+ should answer M to build it as a loadable module. The module will be
+ called on26.o. You must also have a high-level driver for the type
+ of device that you want to support.
+
+#
diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig
new file mode 100644
index 000000000000..4b5e6d2865b2
--- /dev/null
+++ b/drivers/bluetooth/Kconfig
@@ -0,0 +1,113 @@
+
+menu "Bluetooth device drivers"
+ depends on BT!=n
+
+config BT_HCIUSB
+ tristate "HCI USB driver"
+ depends on BT && USB
+ help
+ Bluetooth HCI USB driver.
+ This driver is required if you want to use Bluetooth devices with
+ USB interface.
+
+ Say Y here to compile support for Bluetooth USB devices into the
+ kernel or say M to compile it as module (hci_usb.o).
+
+config BT_USB_ZERO_PACKET
+ bool "USB zero packet support"
+ depends on BT_HCIUSB
+ help
+ Support for USB zero packets.
+ This option is provided only as a work around for buggy Bluetooth USB
+ devices. Do _not_ enable it unless you know for sure that your device
+ requires zero packets.
+ Most people should say N here.
+
+config BT_HCIUART
+ tristate "HCI UART driver"
+ depends on BT
+ help
+ Bluetooth HCI UART driver.
+ This driver is required if you want to use Bluetooth devices with
+ serial port interface. You will also need this driver if you have
+ UART based Bluetooth PCMCIA and CF devices like Xircom Credit Card
+ adapter and BrainBoxes Bluetooth PC Card.
+
+ Say Y here to compile support for Bluetooth UART devices into the
+ kernel or say M to compile it as module (hci_uart.o).
+
+config BT_HCIUART_H4
+ bool "UART (H4) protocol support"
+ depends on BT_HCIUART
+ help
+ UART (H4) is serial protocol for communication between Bluetooth
+ device and host. This protocol is required for most Bluetooth devices
+ with UART interface, including PCMCIA and CF cards.
+
+ Say Y here to compile support for HCI UART (H4) protocol.
+
+config BT_HCIUART_BCSP
+ bool "BCSP protocol support"
+ depends on BT_HCIUART
+ help
+ BCSP (BlueCore Serial Protocol) is serial protocol for communication
+ between Bluetooth device and host. This protocol is required for non
+ USB Bluetooth devices based on CSR BlueCore chip, including PCMCIA and
+ CF cards.
+
+ Say Y here to compile support for HCI BCSP protocol.
+
+config BT_HCIDTL1
+ tristate "HCI DTL1 (PC Card) driver"
+ depends on PCMCIA && BT
+ help
+ Bluetooth HCI DTL1 (PC Card) driver.
+ This driver provides support for Bluetooth PCMCIA devices with
+ Nokia DTL1 interface:
+ Nokia Bluetooth Card
+ Socket Bluetooth CF Card
+
+ Say Y here to compile support for HCI DTL1 devices into the
+ kernel or say M to compile it as module (dtl1_cs.o).
+
+config BT_HCIBT3C
+ tristate "HCI BT3C (PC Card) driver"
+ depends on PCMCIA && BT
+ ---help---
+ Bluetooth HCI BT3C (PC Card) driver.
+ This driver provides support for Bluetooth PCMCIA devices with
+ 3Com BT3C interface:
+ 3Com Bluetooth Card (3CRWB6096)
+ HP Bluetooth Card
+
+ The HCI BT3C driver uses external firmware loader program provided in
+ the BlueFW package. For more information, see <http://bluez.sf.net>.
+
+ Say Y here to compile support for HCI BT3C devices into the
+ kernel or say M to compile it as module (bt3c_cs.o).
+
+config BT_HCIBLUECARD
+ tristate "HCI BlueCard (PC Card) driver"
+ depends on PCMCIA && BT
+ help
+ Bluetooth HCI BlueCard (PC Card) driver.
+ This driver provides support for Bluetooth PCMCIA devices with
+ Anycom BlueCard interface:
+ Anycom Bluetooth PC Card
+ Anycom Bluetooth CF Card
+
+ Say Y here to compile support for HCI BlueCard devices into the
+ kernel or say M to compile it as module (bluecard_cs.o).
+
+config BT_HCIVHCI
+ tristate "HCI VHCI (Virtual HCI device) driver"
+ depends on BT
+ help
+ Bluetooth Virtual HCI device driver.
+ This driver is required if you want to use HCI Emulation software.
+
+ Say Y here to compile support for virtual HCI devices into the
+ kernel or say M to compile it as module (hci_vhci.o).
+
+endmenu
+
diff --git a/drivers/cdrom/Kconfig b/drivers/cdrom/Kconfig
new file mode 100644
index 000000000000..fc6e4b1b2369
--- /dev/null
+++ b/drivers/cdrom/Kconfig
@@ -0,0 +1,250 @@
+#
+# CDROM driver configuration
+#
+config AZTCD
+ tristate "Aztech/Orchid/Okano/Wearnes/TXC/CyDROM CDROM support"
+ depends on CD_NO_IDESCSI
+ ---help---
+ This is your driver if you have an Aztech CDA268-01A, Orchid
+ CD-3110, Okano or Wearnes CDD110, Conrad TXC, or CyCD-ROM CR520 or
+ CR540 CD-ROM drive. This driver -- just like all these CD-ROM
+ drivers -- is NOT for CD-ROM drives with IDE/ATAPI interfaces, such
+ as Aztech CDA269-031SE. Please read the file
+ <file:Documentation/cdrom/aztcd>.
+
+ If you say Y here, you should also say Y or M to "ISO 9660 CD-ROM
+ file system support" below, because that's the file system used on
+ CD-ROMs.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called aztcd.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config GSCD
+ tristate "Goldstar R420 CDROM support"
+ depends on CD_NO_IDESCSI
+ ---help---
+ If this is your CD-ROM drive, say Y here. As described in the file
+ <file:Documentation/cdrom/gscd>, you might have to change a setting
+ in the file <file:drivers/cdrom/gscd.h> before compiling the
+ kernel. Please read the file <file:Documentation/cdrom/gscd>.
+
+ If you say Y here, you should also say Y or M to "ISO 9660 CD-ROM
+ file system support" below, because that's the file system used on
+ CD-ROMs.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called gscd.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config SBPCD
+ tristate "Matsushita/Panasonic/Creative, Longshine, TEAC CDROM support"
+ depends on CD_NO_IDESCSI
+ ---help---
+ This driver supports most of the drives which use the Panasonic or
+ Sound Blaster interface. Please read the file
+ <file:Documentation/cdrom/sbpcd>.
+
+ The Matsushita CR-521, CR-522, CR-523, CR-562, CR-563 drives
+ (sometimes labeled "Creative"), the Creative Labs CD200, the
+ Longshine LCS-7260, the "IBM External ISA CD-ROM" (in fact a CR-56x
+ model), the TEAC CD-55A fall under this category. Some other
+ "electrically compatible" drives (Vertos, Genoa, some Funai models)
+ are currently not supported; for the Sanyo H94A drive currently a
+ separate driver (asked later) is responsible. Most drives have a
+ uniquely shaped faceplate, with a caddyless motorized drawer, but
+ without external brand markings. The older CR-52x drives have a
+ caddy and manual loading/eject, but still no external markings. The
+ driver is able to do an extended auto-probing for interface
+ addresses and drive types; this can help to find facts in cases you
+ are not sure, but can consume some time during the boot process if
+ none of the supported drives gets found. Once your drive got found,
+ you should enter the reported parameters into
+ <file:drivers/cdrom/sbpcd.h> and set "DISTRIBUTION 0" there.
+
+ This driver can support up to four CD-ROM controller cards, and each
+ card can support up to four CD-ROM drives; if you say Y here, you
+ will be asked how many controller cards you have. If compiled as a
+ module, only one controller card (but with up to four drives) is
+ usable.
+
+ If you say Y here, you should also say Y or M to "ISO 9660 CD-ROM
+ file system support" below, because that's the file system used on
+ CD-ROMs.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called sbpcd.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config MCD
+ tristate "Mitsumi (standard) [no XA/Multisession] CDROM support"
+ depends on CD_NO_IDESCSI
+ ---help---
+ This is the older of the two drivers for the older Mitsumi models
+ LU-005, FX-001 and FX-001D. This is not the right driver for the
+ FX-001DE and the triple or quad speed models (all these are
+ IDE/ATAPI models). Please also the file
+ <file:Documentation/cdrom/mcd>.
+
+ With the old LU-005 model, the whole drive chassis slides out for cd
+ insertion. The FX-xxx models use a motorized tray type mechanism.
+ Note that this driver does not support XA or MultiSession CDs
+ (PhotoCDs). There is a new driver (next question) which can do
+ this. If you want that one, say N here.
+
+ If you say Y here, you should also say Y or M to "ISO 9660 CD-ROM
+ file system support" below, because that's the file system used on
+ CD-ROMs.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called mcd.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config MCD_IRQ
+ int "MCD IRQ"
+ depends on MCD
+ default "11"
+ help
+ This allows you to specify the default value of the IRQ used by the
+ driver. This setting can be overridden by passing the "mcd="
+ parameter to the kernel at boot time (or at module load time if you
+ said M to "Standard Mitsumi CD-ROM support").
+
+config MCD_BASE
+ hex "MCD I/O base"
+ depends on MCD
+ default "300"
+ help
+ This allows you to specify the default value of the I/O base address
+ used by the driver. This setting can be overridden by passing the
+ "mcd=" parameter to the kernel at boot time (or at module load time
+ if you said M to "Standard Mitsumi CD-ROM support").
+
+config MCDX
+ tristate "Mitsumi [XA/MultiSession] CDROM support"
+ depends on CD_NO_IDESCSI
+ ---help---
+ Use this driver if you want to be able to read XA or MultiSession
+ CDs (PhotoCDs) as well as ordinary CDs with your Mitsumi LU-005,
+ FX-001 or FX-001D CD-ROM drive. In addition, this driver uses much
+ less kernel memory than the old one, if that is a concern. This
+ driver is able to support more than one drive, but each drive needs
+ a separate interface card. Please read the file
+ <file:Documentation/cdrom/mcdx>.
+
+ If you say Y here, you should also say Y or M to "ISO 9660 CD-ROM
+ file system support" below, because that's the file system used on
+ CD-ROMs.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called mcdx.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config OPTCD
+ tristate "Optics Storage DOLPHIN 8000AT CDROM support"
+ depends on CD_NO_IDESCSI
+ ---help---
+ This is the driver for the 'DOLPHIN' drive with a 34-pin Sony
+ compatible interface. It also works with the Lasermate CR328A. If
+ you have one of those, say Y. This driver does not work for the
+ Optics Storage 8001 drive; use the IDE-ATAPI CD-ROM driver for that
+ one. Please read the file <file:Documentation/cdrom/optcd>.
+
+ If you say Y here, you should also say Y or M to "ISO 9660 CD-ROM
+ file system support" below, because that's the file system used on
+ CD-ROMs.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called optcd.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config CM206
+ tristate "Philips/LMS CM206 CDROM support"
+ depends on CD_NO_IDESCSI
+ ---help---
+ If you have a Philips/LMS CD-ROM drive cm206 in combination with a
+ cm260 host adapter card, say Y here. Please also read the file
+ <file:Documentation/cdrom/cm206>.
+
+ If you say Y here, you should also say Y or M to "ISO 9660 CD-ROM
+ file system support" below, because that's the file system used on
+ CD-ROMs.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called cm206.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config SJCD
+ tristate "Sanyo CDR-H94A CDROM support"
+ depends on CD_NO_IDESCSI
+ help
+ If this is your CD-ROM drive, say Y here and read the file
+ <file:Documentation/cdrom/sjcd>. You should then also say Y or M to
+ "ISO 9660 CD-ROM file system support" below, because that's the
+ file system used on CD-ROMs.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called sjcd.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config ISP16_CDI
+ tristate "ISP16/MAD16/Mozart soft configurable cdrom interface support"
+ depends on CD_NO_IDESCSI
+ ---help---
+ These are sound cards with built-in cdrom interfaces using the OPTi
+ 82C928 or 82C929 chips. Say Y here to have them detected and
+ possibly configured at boot time. In addition, You'll have to say Y
+ to a driver for the particular cdrom drive you have attached to the
+ card. Read <file:Documentation/cdrom/isp16> for details.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called isp16.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config CDU31A
+ tristate "Sony CDU31A/CDU33A CDROM support"
+ depends on CD_NO_IDESCSI
+ ---help---
+ These CD-ROM drives have a spring-pop-out caddyless drawer, and a
+ rectangular green LED centered beneath it. NOTE: these CD-ROM
+ drives will not be auto detected by the kernel at boot time; you
+ have to provide the interface address as an option to the kernel at
+ boot time as described in <file:Documentation/cdrom/cdu31a> or fill
+ in your parameters into <file:drivers/cdrom/cdu31a.c>. Try "man
+ bootparam" or see the documentation of your boot loader (lilo or
+ loadlin) about how to pass options to the kernel.
+
+ If you say Y here, you should also say Y or M to "ISO 9660 CD-ROM
+ file system support" below, because that's the file system used on
+ CD-ROMs.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called cdu31a.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config CDU535
+ tristate "Sony CDU535 CDROM support"
+ depends on CD_NO_IDESCSI
+ ---help---
+ This is the driver for the older Sony CDU-535 and CDU-531 CD-ROM
+ drives. Please read the file <file:Documentation/cdrom/sonycd535>.
+
+ If you say Y here, you should also say Y or M to "ISO 9660 CD-ROM
+ file system support" below, because that's the file system used on
+ CD-ROMs.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called sonycd535.o. If you want to compile it as
+ a module, say M here and read <file:Documentation/modules.txt>.
+
diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
new file mode 100644
index 000000000000..ee08a533bf81
--- /dev/null
+++ b/drivers/char/Kconfig
@@ -0,0 +1,1274 @@
+#
+# Character device configuration
+#
+
+menu "Character devices"
+
+config VT
+ bool "Virtual terminal"
+ ---help---
+ If you say Y here, you will get support for terminal devices with
+ display and keyboard devices. These are called "virtual" because you
+ can run several virtual terminals (also called virtual consoles) on
+ one physical terminal. This is rather useful, for example one
+ virtual terminal can collect system messages and warnings, another
+ one can be used for a text-mode user session, and a third could run
+ an X session, all in parallel. Switching between virtual terminals
+ is done with certain key combinations, usually Alt-<function key>.
+
+ The setterm command ("man setterm") can be used to change the
+ properties (such as colors or beeping) of a virtual terminal. The
+ man page console_codes(4) ("man console_codes") contains the special
+ character sequences that can be used to change those properties
+ directly. The fonts used on virtual terminals can be changed with
+ the setfont ("man setfont") command and the key bindings are defined
+ with the loadkeys ("man loadkeys") command.
+
+ You need at least one virtual terminal device in order to make use
+ of your keyboard and monitor. Therefore, only people configuring an
+ embedded system would want to say N here in order to save some
+ memory; the only way to log into such a system is then via a serial
+ or network connection.
+
+ If unsure, say Y, or else you won't be able to do much with your new
+ shiny Linux system :-)
+
+config VT_CONSOLE
+ bool "Support for console on virtual terminal"
+ depends on VT
+ ---help---
+ The system console is the device which receives all kernel messages
+ and warnings and which allows logins in single user mode. If you
+ answer Y here, a virtual terminal (the device used to interact with
+ a physical terminal) can be used as system console. This is the most
+ common mode of operations, so you should say Y here unless you want
+ the kernel messages be output only to a serial port (in which case
+ you should say Y to "Console on serial port", below).
+
+ If you do say Y here, by default the currently visible virtual
+ terminal (/dev/tty0) will be used as system console. You can change
+ that with a kernel command line option such as "console=tty3" which
+ would use the third virtual terminal as system console. (Try "man
+ bootparam" or see the documentation of your boot loader (lilo or
+ loadlin) about how to pass options to the kernel at boot time.)
+
+ If unsure, say Y.
+
+config HW_CONSOLE
+ bool
+ depends on VT && !S390 && !UM
+ default y
+
+config SERIAL_NONSTANDARD
+ bool "Non-standard serial port support"
+ ---help---
+ Say Y here if you have any non-standard serial boards -- boards
+ which aren't supported using the standard "dumb" serial driver.
+ This includes intelligent serial boards such as Cyclades,
+ Digiboards, etc. These are usually used for systems that need many
+ serial ports because they serve many terminals or dial-in
+ connections.
+
+ Note that the answer to this question won't directly affect the
+ kernel: saying N will just cause the configurator to skip all
+ the questions about non-standard serial boards.
+
+ Most people can say N here.
+
+config COMPUTONE
+ tristate "Computone IntelliPort Plus serial support"
+ depends on SERIAL_NONSTANDARD
+ ---help---
+ This driver supports the entire family of Intelliport II/Plus
+ controllers with the exception of the MicroChannel controllers and
+ products previous to the Intelliport II. These are multiport cards,
+ which give you many serial ports. You would need something like this
+ to connect more than two modems to your Linux box, for instance in
+ order to become a dial-in server. If you have a card like that, say
+ Y here and read <file:Documentation/computone.txt>.
+
+ If you want to compile this as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. You will get
+ two modules called ip2.o and ip2main.o.
+
+config ROCKETPORT
+ tristate "Comtrol Rocketport support"
+ depends on SERIAL_NONSTANDARD
+ help
+ This is a driver for the Comtrol Rocketport cards which provide
+ multiple serial ports. You would need something like this to connect
+ more than two modems to your Linux box, for instance in order to
+ become a dial-in server.
+
+ If you want to compile this driver as a module, say M here and read
+ <file:Documentation/modules.txt>. The module will be called
+ rocket.o.
+
+config CYCLADES
+ tristate "Cyclades async mux support"
+ depends on SERIAL_NONSTANDARD
+ ---help---
+ This is a driver for a card that gives you many serial ports. You
+ would need something like this to connect more than two modems to
+ your Linux box, for instance in order to become a dial-in server.
+ For information about the Cyclades-Z card, read
+ <file:drivers/char/README.cycladesZ>.
+
+ As of 1.3.9x kernels, this driver's minor numbers start at 0 instead
+ of 32.
+
+ If you want to compile this as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called cyclades.o.
+
+ If you haven't heard about it, it's safe to say N.
+
+config CYZ_INTR
+ bool "Cyclades-Z interrupt mode operation (EXPERIMENTAL)"
+ depends on EXPERIMENTAL && CYCLADES
+ help
+ The Cyclades-Z family of multiport cards allows 2 (two) driver op
+ modes: polling and interrupt. In polling mode, the driver will check
+ the status of the Cyclades-Z ports every certain amount of time
+ (which is called polling cycle and is configurable). In interrupt
+ mode, it will use an interrupt line (IRQ) in order to check the
+ status of the Cyclades-Z ports. The default op mode is polling. If
+ unsure, say N.
+
+config DIGIEPCA
+ tristate "Digiboard Intelligent Async Support"
+ depends on SERIAL_NONSTANDARD
+ ---help---
+ This is a driver for Digi International's Xx, Xeve, and Xem series
+ of cards which provide multiple serial ports. You would need
+ something like this to connect more than two modems to your Linux
+ box, for instance in order to become a dial-in server. This driver
+ supports the original PC (ISA) boards as well as PCI, and EISA. If
+ you have a card like this, say Y here and read the file
+ <file:Documentation/digiepca.txt>.
+
+ NOTE: There is another, separate driver for the Digiboard PC boards:
+ "Digiboard PC/Xx Support" below. You should (and can) only select
+ one of the two drivers.
+
+ If you want to compile this driver as a module, say M here and read
+ <file:Documentation/modules.txt>. The module will be called epca.o.
+
+config DIGI
+ tristate "Digiboard PC/Xx Support"
+ depends on SERIAL_NONSTANDARD && DIGIEPCA=n
+ help
+ This is a driver for the Digiboard PC/Xe, PC/Xi, and PC/Xeve cards
+ that give you many serial ports. You would need something like this
+ to connect more than two modems to your Linux box, for instance in
+ order to become a dial-in server. If you have a card like that, say
+ Y here and read the file <file:Documentation/digiboard.txt>.
+
+ If you want to compile this driver as a module, say M here and read
+ <file:Documentation/modules.txt>. The module will be called pcxx.o.
+
+config ESPSERIAL
+ tristate "Hayes ESP serial port support"
+ depends on SERIAL_NONSTANDARD && ISA
+ help
+ This is a driver which supports Hayes ESP serial ports. Both single
+ port cards and multiport cards are supported. Make sure to read
+ <file:Documentation/hayes-esp.txt>.
+
+ To compile this driver as a module ( = code which can be inserted in
+ and removed from the running kernel whenever you want), say M here
+ and read <file:Documentation/modules.txt>. The module will be
+ called esp.o. If unsure, say N.
+
+config MOXA_INTELLIO
+ tristate "Moxa Intellio support"
+ depends on SERIAL_NONSTANDARD
+ help
+ Say Y here if you have a Moxa Intellio multiport serial card.
+
+ This driver can also be built as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called moxa.o. If you want to do that, say M
+ here.
+
+config MOXA_SMARTIO
+ tristate "Moxa SmartIO support"
+ depends on SERIAL_NONSTANDARD
+ help
+ Say Y here if you have a Moxa SmartIO multiport serial card.
+
+ This driver can also be built as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called mxser.o. If you want to do that, say M
+ here.
+
+config ISI
+ tristate "Multi-Tech multiport card support (EXPERIMENTAL)"
+ depends on SERIAL_NONSTANDARD && EXPERIMENTAL && m
+ help
+ This is a driver for the Multi-Tech cards which provide several
+ serial ports. The driver is experimental and can currently only be
+ built as a module ( = code which can be inserted in and removed from
+ the running kernel whenever you want). Please read
+ <file:Documentation/modules.txt>. The module will be called
+ isicom.o.
+
+config SYNCLINK
+ tristate "Microgate SyncLink card support"
+ depends on SERIAL_NONSTANDARD
+ help
+ Provides support for the SyncLink ISA and PCI multiprotocol serial
+ adapters. These adapters support asynchronous and HDLC bit
+ synchronous communication up to 10Mbps (PCI adapter).
+
+ This driver can only be built as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called synclink.o. If you want to do that, say M
+ here.
+
+config SYNCLINKMP
+ tristate "SyncLink Multiport support"
+ depends on SERIAL_NONSTANDARD
+ help
+ Enable support for the SyncLink Multiport (2 or 4 ports)
+ serial adapter, running asynchronous and HDLC communications up
+ to 2.048Mbps. Each ports is independently selectable for
+ RS-232, V.35, RS-449, RS-530, and X.21
+
+ This driver may be built as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called synclinkmp.o. If you want to do that, say M
+ here.
+
+config N_HDLC
+ tristate "HDLC line discipline support"
+ depends on SERIAL_NONSTANDARD
+ help
+ Allows synchronous HDLC communications with tty device drivers that
+ support synchronous HDLC such as the Microgate SyncLink adapter.
+
+ This driver can only be built as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called n_hdlc.o. If you want to do that, say M
+ here.
+
+config RISCOM8
+ tristate "SDL RISCom/8 card support"
+ depends on SERIAL_NONSTANDARD
+ help
+ This is a driver for the SDL Communications RISCom/8 multiport card,
+ which gives you many serial ports. You would need something like
+ this to connect more than two modems to your Linux box, for instance
+ in order to become a dial-in server. If you have a card like that,
+ say Y here and read the file <file:Documentation/riscom8.txt>.
+
+ Also it's possible to say M here and compile this driver as kernel
+ loadable module; the module will be called riscom8.o.
+
+config SPECIALIX
+ tristate "Specialix IO8+ card support"
+ depends on SERIAL_NONSTANDARD
+ help
+ This is a driver for the Specialix IO8+ multiport card (both the
+ ISA and the PCI version) which gives you many serial ports. You
+ would need something like this to connect more than two modems to
+ your Linux box, for instance in order to become a dial-in server.
+
+ If you have a card like that, say Y here and read the file
+ <file:Documentation/specialix.txt>. Also it's possible to say M here
+ and compile this driver as kernel loadable module which will be
+ called specialix.o.
+
+config SPECIALIX_RTSCTS
+ bool "Specialix DTR/RTS pin is RTS"
+ depends on SPECIALIX
+ help
+ The Specialix IO8+ card can only support either RTS or DTR. If you
+ say N here, the driver will use the pin as "DTR" when the tty is in
+ software handshake mode. If you say Y here or hardware handshake is
+ on, it will always be RTS. Read the file
+ <file:Documentation/specialix.txt> for more information.
+
+config SX
+ tristate "Specialix SX (and SI) card support"
+ depends on SERIAL_NONSTANDARD
+ help
+ This is a driver for the SX and SI multiport serial cards.
+ Please read the file <file:Documentation/sx.txt> for details.
+
+ This driver can only be built as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called sx.o. If you want to do that, say M here.
+
+config RIO
+ tristate "Specialix RIO system support"
+ depends on SERIAL_NONSTANDARD
+ help
+ This is a driver for the Specialix RIO, a smart serial card which
+ drives an outboard box that can support up to 128 ports. Product
+ information is at <http://www.sphinxcst.co.uk/perle/multi.htm>.
+ There are both ISA and PCI versions.
+
+config RIO_OLDPCI
+ bool "Support really old RIO/PCI cards"
+ depends on RIO
+ help
+ Older RIO PCI cards need some initialization-time configuration to
+ determine the IRQ and some control addresses. If you have a RIO and
+ this doesn't seem to work, try setting this to Y.
+
+config STALDRV
+ bool "Stallion multiport serial support"
+ depends on SERIAL_NONSTANDARD
+ help
+ Stallion cards give you many serial ports. You would need something
+ like this to connect more than two modems to your Linux box, for
+ instance in order to become a dial-in server. If you say Y here,
+ you will be asked for your specific card model in the next
+ questions. Make sure to read <file:Documentation/stallion.txt> in
+ this case. If you have never heard about all this, it's safe to
+ say N.
+
+config STALLION
+ tristate "Stallion EasyIO or EC8/32 support"
+ depends on STALDRV
+ help
+ If you have an EasyIO or EasyConnection 8/32 multiport Stallion
+ card, then this is for you; say Y. Make sure to read
+ <file:Documentation/stallion.txt>.
+
+ If you want to compile this as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called stallion.o.
+
+config ISTALLION
+ tristate "Stallion EC8/64, ONboard, Brumby support"
+ depends on STALDRV
+ help
+ If you have an EasyConnection 8/64, ONboard, Brumby or Stallion
+ serial multiport card, say Y here. Make sure to read
+ <file:Documentation/stallion.txt>.
+
+ To compile it as a module ( = code which can be inserted in and
+ removed from the running kernel whenever you want), say M here and
+ read <file:Documentation/modules.txt>. The module will be called
+ istallion.o.
+
+config SERIAL_TX3912
+ bool "TMPTX3912/PR31700 serial port support"
+ depends on SERIAL_NONSTANDARD && MIPS
+ help
+ The TX3912 is a Toshiba RISC processor based o the MIPS 3900 core;
+ see <http://www.toshiba.com/taec/components/Generic/risc/tx3912.htm>.
+ Say Y here to enable kernel support for the on-board serial port.
+
+config SERIAL_TX3912_CONSOLE
+ bool "Console on TMPTX3912/PR31700 serial port"
+ depends on SERIAL_TX3912
+ help
+ The TX3912 is a Toshiba RISC processor based o the MIPS 3900 core;
+ see <http://www.toshiba.com/taec/components/Generic/risc/tx3912.htm>.
+ Say Y here to direct console I/O to the on-board serial port.
+
+config AU1000_UART
+ bool "Enable Au1000 UART Support"
+ depends on SERIAL_NONSTANDARD && MIPS
+ help
+ If you have an Alchemy AU1000 processor (MIPS based) and you want
+ to use serial ports, say Y. Otherwise, say N.
+
+config AU1000_SERIAL_CONSOLE
+ bool "Enable Au1000 serial console"
+ depends on AU1000_UART
+ help
+ If you have an Alchemy AU1000 processor (MIPS based) and you want
+ to use a console on a serial port, say Y. Otherwise, say N.
+
+config QTRONIX_KEYBOARD
+ bool "Enable Qtronix 990P Keyboard Support"
+ depends on IT8712
+ help
+ Images of Qtronix keyboards are at
+ <http://www.qtronix.com/keyboard.html>.
+
+config IT8172_CIR
+ bool
+ depends on QTRONIX_KEYBOARD
+ default y
+
+config IT8172_SCR0
+ bool "Enable Smart Card Reader 0 Support "
+ depends on IT8712
+ help
+ Say Y here to support smart-card reader 0 (SCR0) on the Integrated
+ Technology Express, Inc. ITE8172 SBC. Vendor page at
+ <http://www.ite.com.tw/ia/brief_it8172bsp.htm>; picture of the
+ board at <http://www.mvista.com/allies/semiconductor/ite.html>.
+
+config IT8172_SCR1
+ bool "Enable Smart Card Reader 1 Support "
+ depends on IT8712
+ help
+ Say Y here to support smart-card reader 1 (SCR1) on the Integrated
+ Technology Express, Inc. ITE8172 SBC. Vendor page at
+ <http://www.ite.com.tw/ia/brief_it8172bsp.htm>; picture of the
+ board at <http://www.mvista.com/allies/semiconductor/ite.html>.
+
+config A2232
+ tristate "Commodore A2232 serial support (EXPERIMENTAL)"
+ depends on EXPERIMENTAL && ZORRO
+ ---help---
+ This option supports the 2232 7-port serial card shipped with the
+ Amiga 2000 and other Zorro-bus machines, dating from 1989. At
+ a max of 19,200 bps, the ports are served by a 6551 ACIA UART chip
+ each, plus a 8520 CIA, and a master 6502 CPU and buffer as well. The
+ ports were connected with 8 pin DIN connectors on the card bracket,
+ for which 8 pin to DB25 adapters were supplied. The card also had
+ jumpers internally to toggle various pinning configurations.
+
+ This driver can be built as a module; but then "generic_serial.o"
+ will also be built as a module. This has to be loaded before
+ "ser_a2232.o". If you want to do this, answer M here and read
+ "<file:Documentation/modules.txt>".
+
+source "drivers/serial/Kconfig"
+
+config UNIX98_PTYS
+ bool "Unix98 PTY support"
+ ---help---
+ A pseudo terminal (PTY) is a software device consisting of two
+ halves: a master and a slave. The slave device behaves identical to
+ a physical terminal; the master device is used by a process to
+ read data from and write data to the slave, thereby emulating a
+ terminal. Typical programs for the master side are telnet servers
+ and xterms.
+
+ Linux has traditionally used the BSD-like names /dev/ptyxx for
+ masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
+ has a number of problems. The GNU C library glibc 2.1 and later,
+ however, supports the Unix98 naming standard: in order to acquire a
+ pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
+ terminal is then made available to the process and the pseudo
+ terminal slave can be accessed as /dev/pts/<number>. What was
+ traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
+
+ The entries in /dev/pts/ are created on the fly by a virtual
+ file system; therefore, if you say Y here you should say Y to
+ "/dev/pts file system for Unix98 PTYs" as well.
+
+ If you want to say Y here, you need to have the C library glibc 2.1
+ or later (equal to libc-6.1, check with "ls -l /lib/libc.so.*").
+ Read the instructions in <file:Documentation/Changes> pertaining to
+ pseudo terminals. It's safe to say N.
+
+config UNIX98_PTY_COUNT
+ int "Maximum number of Unix98 PTYs in use (0-2048)"
+ depends on UNIX98_PTYS
+ default "256"
+ help
+ The maximum number of Unix98 PTYs that can be used at any one time.
+ The default is 256, and should be enough for desktop systems. Server
+ machines which support incoming telnet/rlogin/ssh connections and/or
+ serve several X terminals may want to increase this: every incoming
+ connection and every xterm uses up one PTY.
+
+ When not in use, each additional set of 256 PTYs occupy
+ approximately 8 KB of kernel memory on 32-bit architectures.
+
+config PRINTER
+ tristate "Parallel printer support"
+ depends on PARPORT
+ ---help---
+ If you intend to attach a printer to the parallel port of your Linux
+ box (as opposed to using a serial printer; if the connector at the
+ printer has 9 or 25 holes ["female"], then it's serial), say Y.
+ Also read the Printing-HOWTO, available from
+ <http://www.linuxdoc.org/docs.html#howto>.
+
+ It is possible to share one parallel port among several devices
+ (e.g. printer and ZIP drive) and it is safe to compile the
+ corresponding drivers into the kernel. If you want to compile this
+ driver as a module however ( = code which can be inserted in and
+ removed from the running kernel whenever you want), say M here and
+ read <file:Documentation/modules.txt> and
+ <file:Documentation/parport.txt>. The module will be called lp.o.
+
+ If you have several parallel ports, you can specify which ports to
+ use with the "lp" kernel command line option. (Try "man bootparam"
+ or see the documentation of your boot loader (lilo or loadlin) about
+ how to pass options to the kernel at boot time.) The syntax of the
+ "lp" command line option can be found in <file:drivers/char/lp.c>.
+
+ If you have more than 8 printers, you need to increase the LP_NO
+ macro in lp.c and the PARPORT_MAX macro in parport.h.
+
+config LP_CONSOLE
+ bool "Support for console on line printer"
+ depends on PRINTER
+ ---help---
+ If you want kernel messages to be printed out as they occur, you
+ can have a console on the printer. This option adds support for
+ doing that; to actually get it to happen you need to pass the
+ option "console=lp0" to the kernel at boot time.
+
+ If the printer is out of paper (or off, or unplugged, or too
+ busy..) the kernel will stall until the printer is ready again.
+ By defining CONSOLE_LP_STRICT to 0 (at your own risk) you
+ can make the kernel continue when this happens,
+ but it'll lose the kernel messages.
+
+ If unsure, say N.
+
+config PPDEV
+ tristate "Support for user-space parallel port device drivers"
+ depends on PARPORT
+ ---help---
+ Saying Y to this adds support for /dev/parport device nodes. This
+ is needed for programs that want portable access to the parallel
+ port, for instance deviceid (which displays Plug-and-Play device
+ IDs).
+
+ This is the parallel port equivalent of SCSI generic support (sg).
+ It is safe to say N to this -- it is not needed for normal printing
+ or parallel port CD-ROM/disk support.
+
+ This support is also available as a module. If you want to compile
+ it as a module, say M here and read
+ <file:Documentation/modules.txt>. The module will be called
+ ppdev.o.
+
+ If unsure, say N.
+
+config TIPAR
+ tristate "Texas Instruments parallel link cable support"
+ depends on PARPORT
+ ---help---
+ If you own a Texas Instruments graphing calculator and use a
+ parallel link cable, then you might be interested in this driver.
+
+ If you enable this driver, you will be able to communicate with
+ your calculator through a set of device nodes under /dev. The
+ main advantage of this driver is that you don't have to be root
+ to use this precise link cable (depending on the permissions on
+ the device nodes, though).
+
+ This code is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called tipar.o. If you want to compile it as a
+ module, say M here and read Documentation/modules.txt.
+
+ If you don't know what a parallel link cable is or what a Texas
+ Instruments graphing calculator is, then you probably don't need this
+ driver.
+
+ If unsure, say N.
+
+config HVC_CONSOLE
+ bool "pSeries Hypervisor Virtual Console support"
+ depends on PPC_PSERIES
+ help
+ pSeries machines when partitioned support a hypervisor virtual
+ console. This driver allows each pSeries partition to have a console
+ which is accessed via the HMC.
+
+source "drivers/i2c/Kconfig"
+
+
+menu "Mice"
+
+config BUSMOUSE
+ tristate "Bus Mouse Support"
+ ---help---
+ Say Y here if your machine has a bus mouse as opposed to a serial
+ mouse. Most people have a regular serial MouseSystem or
+ Microsoft mouse (made by Logitech) that plugs into a COM port
+ (rectangular with 9 or 25 pins). These people say N here.
+
+ If you have a laptop, you either have to check the documentation or
+ experiment a bit to find out whether the trackball is a serial mouse
+ or not; it's best to say Y here for you.
+
+ This is the generic bus mouse driver code. If you have a bus mouse,
+ you will have to say Y here and also to the specific driver for your
+ mouse below.
+
+ This code is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called busmouse.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+endmenu
+
+config QIC02_TAPE
+ tristate "QIC-02 tape support"
+ help
+ If you have a non-SCSI tape drive like that, say Y. Or, if you want
+ to compile this driver as a module ( = code which can be inserted in
+ and removed from the running kernel whenever you want), say M here
+ and read <file:Documentation/modules.txt>. The module will be called
+ tpqic02.o.
+
+config QIC02_DYNCONF
+ bool "Do you want runtime configuration for QIC-02"
+ depends on QIC02_TAPE
+ help
+ You can either configure this driver once and for all by editing a
+ header file (<file:include/linux/tpqic02.h>), in which case you
+ should say N, or you can fetch a program via anonymous FTP which is
+ able to configure this driver during runtime. The program to do
+ this is called 'qic02conf' and it is part of the
+ tpqic02-support-X.Y.tar.gz support package.
+
+ If you want to use the qic02conf program, say Y.
+
+comment "Edit configuration parameters in ./include/linux/tpqic02.h!"
+ depends on QIC02_TAPE && !QIC02_DYNCONF
+
+comment "Setting runtime QIC-02 configuration is done with qic02conf"
+ depends on QIC02_TAPE && QIC02_DYNCONF
+
+comment "from the tpqic02-support package. It is available at"
+ depends on QIC02_TAPE && QIC02_DYNCONF
+
+comment "metalab.unc.edu or ftp://titus.cfw.com/pub/Linux/util/"
+ depends on QIC02_TAPE && QIC02_DYNCONF
+
+
+menu "Watchdog Cards"
+
+config WATCHDOG
+ bool "Watchdog Timer Support"
+ ---help---
+ If you say Y here (and to one of the following options) and create a
+ character special file /dev/watchdog with major number 10 and minor
+ number 130 using mknod ("man mknod"), you will get a watchdog, i.e.:
+ subsequently opening the file and then failing to write to it for
+ longer than 1 minute will result in rebooting the machine. This
+ could be useful for a networked machine that needs to come back
+ online as fast as possible after a lock-up. There's both a watchdog
+ implementation entirely in software (which can sometimes fail to
+ reboot the machine) and a driver for hardware watchdog boards, which
+ are more robust and can also keep track of the temperature inside
+ your computer. For details, read <file:Documentation/watchdog.txt>
+ in the kernel source.
+
+ The watchdog is usually used together with the watchdog daemon
+ which is available from
+ <ftp://ibiblio.org/pub/Linux/system/daemons/watchdog/>. This daemon can
+ also monitor NFS connections and can reboot the machine when the process
+ table is full.
+
+ If unsure, say N.
+
+config WATCHDOG_NOWAYOUT
+ bool "Disable watchdog shutdown on close"
+ depends on WATCHDOG
+ help
+ The default watchdog behaviour (which you get if you say N here) is
+ to stop the timer if the process managing it closes the file
+ /dev/watchdog. It's always remotely possible that this process might
+ get killed. If you say Y here, the watchdog cannot be stopped once
+ it has been started.
+
+config SOFT_WATCHDOG
+ tristate "Software watchdog"
+ depends on WATCHDOG
+ help
+ A software monitoring watchdog. This will fail to reboot your system
+ from some situations that the hardware watchdog will recover
+ from. Equally it's a lot cheaper to install.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. The module will be called
+ softdog.o.
+
+config WDT
+ tristate "WDT Watchdog timer"
+ depends on WATCHDOG
+ ---help---
+ If you have a WDT500P or WDT501P watchdog board, say Y here,
+ otherwise N. It is not possible to probe for this board, which means
+ that you have to inform the kernel about the IO port and IRQ using
+ the "wdt=" kernel option (try "man bootparam" or see the
+ documentation of your boot loader (lilo or loadlin) about how to
+ pass options to the kernel at boot time).
+
+ If you want to compile this as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called wdt.o.
+
+config WDTPCI
+ tristate "WDT PCI Watchdog timer"
+ depends on WATCHDOG
+ ---help---
+ If you have a PCI WDT500/501 watchdog board, say Y here, otherwise
+ N. It is not possible to probe for this board, which means that you
+ have to inform the kernel about the IO port and IRQ using the "wdt="
+ kernel option (try "man bootparam" or see the documentation of your
+ boot loader (lilo or loadlin) about how to pass options to the
+ kernel at boot time).
+
+ If you want to compile this as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called wdt_pci.o.
+
+config WDT_501
+ bool "WDT501 features"
+ depends on WDT
+ help
+ Saying Y here and creating a character special file /dev/temperature
+ with major number 10 and minor number 131 ("man mknod") will give
+ you a thermometer inside your computer: reading from
+ /dev/temperature yields one byte, the temperature in degrees
+ Fahrenheit. This works only if you have a WDT501P watchdog board
+ installed.
+
+config WDT_501_FAN
+ bool "Fan Tachometer"
+ depends on WDT_501
+ help
+ Enable the Fan Tachometer on the WDT501. Only do this if you have a
+ fan tachometer actually set up.
+
+config PCWATCHDOG
+ tristate "Berkshire Products PC Watchdog"
+ depends on WATCHDOG
+ ---help---
+ This is the driver for the Berkshire Products PC Watchdog card.
+ This card simply watches your kernel to make sure it doesn't freeze,
+ and if it does, it reboots your computer after a certain amount of
+ time. This driver is like the WDT501 driver but for different
+ hardware. Please read <file:Documentation/pcwd-watchdog.txt>. The PC
+ watchdog cards can be ordered from <http://www.berkprod.com/>.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module is called pcwd.o. If you want to compile it as a module,
+ say M here and read <file:Documentation/modules.txt>.
+
+ Most people will say N.
+
+config ACQUIRE_WDT
+ tristate "Acquire SBC Watchdog Timer"
+ depends on WATCHDOG
+ ---help---
+ This is the driver for the hardware watchdog on the PSC-6x86 Single
+ Board Computer produced by Acquire Inc (and others). This watchdog
+ simply watches your kernel to make sure it doesn't freeze, and if
+ it does, it reboots your computer after a certain amount of time.
+
+ This driver is like the WDT501 driver but for different hardware.
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module is called pscwdt.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>. Most
+ people will say N.
+
+config ADVANTECH_WDT
+ tristate "Advantech SBC Watchdog Timer"
+ depends on WATCHDOG
+ help
+ If you are configuring a Linux kernel for the Advantech single-board
+ computer, say `Y' here to support its built-in watchdog timer
+ feature. See the help for CONFIG_WATCHDOG for discussion.
+
+config 21285_WATCHDOG
+ tristate "DC21285 watchdog"
+ depends on WATCHDOG && FOOTBRIDGE
+ help
+ The Intel Footbridge chip contains a builtin watchdog circuit. Say Y
+ here if you wish to use this. Alternatively say M to compile the
+ driver as a module, which will be called wdt285.o.
+
+ This driver does not work on all machines. In particular, early CATS
+ boards have hardware problems that will cause the machine to simply
+ lock up if the watchdog fires.
+
+ "If in doubt, leave it out" - say N.
+
+config 977_WATCHDOG
+ tristate "NetWinder WB83C977 watchdog"
+ depends on WATCHDOG && FOOTBRIDGE && ARCH_NETWINDER
+ help
+ Say Y here to include support for the WB977 watchdog included in
+ NetWinder machines. Alternatively say M to compile the driver as
+ a module, which will be called wdt977.o.
+
+ Not sure? It's safe to say N.
+
+config EUROTECH_WDT
+ tristate "Eurotech CPU-1220/1410 Watchdog Timer"
+ depends on WATCHDOG
+ help
+ Enable support for the watchdog timer on the Eurotech CPU-1220 and
+ CPU-1410 cards. These are PC/104 SBCs. Spec sheets and product
+ information are at <http://www.eurotech.it/>.
+
+config IB700_WDT
+ tristate "IB700 SBC Watchdog Timer"
+ depends on WATCHDOG
+ ---help---
+ This is the driver for the hardware watchdog on the IB700 Single
+ Board Computer produced by TMC Technology (www.tmc-uk.com). This watchdog
+ simply watches your kernel to make sure it doesn't freeze, and if
+ it does, it reboots your computer after a certain amount of time.
+
+ This driver is like the WDT501 driver but for slightly different hardware.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module is called ib700wdt.o. If you want to compile it as a
+ module, say M here and read Documentation/modules.txt. Most people
+ will say N.
+
+config I810_TCO
+ tristate "Intel i810 TCO timer / Watchdog"
+ depends on WATCHDOG
+ ---help---
+ Hardware driver for the TCO timer built into the Intel i810 and i815
+ chipset family. The TCO (Total Cost of Ownership) timer is a
+ watchdog timer that will reboot the machine after its second
+ expiration. The expiration time can be configured by commandline
+ argument "i810_margin=<n>" where <n> is the counter initial value.
+ It is decremented every 0.6 secs, the default is 50 which gives a
+ timeout of 30 seconds and one minute until reset.
+
+ On some motherboards the driver may fail to reset the chipset's
+ NO_REBOOT flag which prevents the watchdog from rebooting the
+ machine. If this is the case you will get a kernel message like
+ "i810tco init: failed to reset NO_REBOOT flag".
+
+ If you want to compile this as a module, say M and read
+ <file:Documentation/modules.txt>. The module will be called
+ i810-tco.o.
+
+config MIXCOMWD
+ tristate "Mixcom Watchdog"
+ depends on WATCHDOG
+ ---help---
+ This is a driver for the Mixcom hardware watchdog cards. This
+ watchdog simply watches your kernel to make sure it doesn't freeze,
+ and if it does, it reboots your computer after a certain amount of
+ time.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module is called mixcomwd.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>. Most
+ people will say N.
+
+config SCx200_WDT
+ tristate "NatSemi SCx200 Watchdog"
+ depends on WATCHDOG
+ help
+ Enable the built-in watchdog timer support on the National
+ Semiconductor SCx200 processors.
+
+ If compiled as a module, it will be called scx200_watchdog.o.
+
+config 60XX_WDT
+ tristate "SBC-60XX Watchdog Timer"
+ depends on WATCHDOG
+ help
+ This driver can be used with the watchdog timer found on some
+ single board computers, namely the 6010 PII based computer.
+ It may well work with other cards. It reads port 0x443 to enable
+ and re-set the watchdog timer, and reads port 0x45 to disable
+ the watchdog. If you have a card that behave in similar ways,
+ you can probably make this driver work with your card as well.
+
+ You can compile this driver directly into the kernel, or use
+ it as a module. The module will be called sbc60xxwdt.o.
+
+config W83877F_WDT
+ tristate "W83877F (EMACS) Watchdog Timer"
+ depends on WATCHDOG
+ ---help---
+ This is the driver for the hardware watchdog on the W83877F chipset
+ as used in EMACS PC-104 motherboards (and likely others). This
+ watchdog simply watches your kernel to make sure it doesn't freeze,
+ and if it does, it reboots your computer after a certain amount of
+ time.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module is called mixcomwd.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>. Most
+ people will say N.
+
+config MACHZ_WDT
+ tristate "ZF MachZ Watchdog"
+ depends on WATCHDOG
+ ---help---
+ If you are using a ZF Micro MachZ processor, say Y here, otherwise
+ N. This is the driver for the watchdog timer builtin on that
+ processor using ZF-Logic interface. This watchdog simply watches
+ your kernel to make sure it doesn't freeze, and if it does, it
+ reboots your computer after a certain amount of time.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module is called machzwd.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+endmenu
+
+config DS1620
+ tristate "NetWinder thermometer support"
+ depends on ARCH_NETWINDER
+ help
+ Say Y here to include support for the thermal management hardware
+ found in the NetWinder. This driver allows the user to control the
+ temperature set points and to read the current temperature.
+
+ It is also possible to say M here to build it as a module (ds1620.o)
+ It is recommended to be used on a NetWinder, but it is not a
+ necessity.
+
+config NWBUTTON
+ tristate "NetWinder Button"
+ depends on ARCH_NETWINDER
+ ---help---
+ If you say Y here and create a character device node /dev/nwbutton
+ with major and minor numbers 10 and 158 ("man mknod"), then every
+ time the orange button is pressed a number of times, the number of
+ times the button was pressed will be written to that device.
+
+ This is most useful for applications, as yet unwritten, which
+ perform actions based on how many times the button is pressed in a
+ row.
+
+ Do not hold the button down for too long, as the driver does not
+ alter the behaviour of the hardware reset circuitry attached to the
+ button; it will still execute a hard reset if the button is held
+ down for longer than approximately five seconds.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. The module will be called
+ nwbutton.o.
+
+ Most people will answer Y to this question and "Reboot Using Button"
+ below to be able to initiate a system shutdown from the button.
+
+config NWBUTTON_REBOOT
+ bool "Reboot Using Button"
+ depends on NWBUTTON
+ help
+ If you say Y here, then you will be able to initiate a system
+ shutdown and reboot by pressing the orange button a number of times.
+ The number of presses to initiate the shutdown is two by default,
+ but this can be altered by modifying the value of NUM_PRESSES_REBOOT
+ in nwbutton.h and recompiling the driver or, if you compile the
+ driver as a module, you can specify the number of presses at load
+ time with "insmod button reboot_count=<something>".
+
+config NWFLASH
+ tristate "NetWinder flash support"
+ depends on ARCH_NETWINDER
+ ---help---
+ If you say Y here and create a character device /dev/flash with
+ major 10 and minor 160 you can manipulate the flash ROM containing
+ the NetWinder firmware. Be careful as accidentally overwriting the
+ flash contents can render your computer unbootable. On no account
+ allow random users access to this device. :-)
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called nwflash.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+ If you're not sure, say N.
+
+config INTEL_RNG
+ tristate "Intel i8x0 Random Number Generator support"
+ depends on (X86 || IA64) && PCI
+ ---help---
+ This driver provides kernel-side support for the Random Number
+ Generator hardware found on Intel i8xx-based motherboards.
+
+ Both a character driver, used to read() entropy data, and a timer
+ function which automatically adds entropy directly into the
+ kernel pool, are exported by this driver.
+
+ To compile this driver as a module ( = code which can be inserted in
+ and removed from the running kernel whenever you want), say M here
+ and read <file:Documentation/modules.txt>. The module will be called
+ i810_rng.o.
+
+ If unsure, say N.
+
+config AMD_RNG
+ tristate "AMD 768 Random Number Generator support"
+ depends on X86 && PCI
+ ---help---
+ This driver provides kernel-side support for the Random Number
+ Generator hardware found on AMD 76x based motherboards.
+
+ Both a character driver, used to read() entropy data, and a timer
+ function which automatically adds entropy directly into the
+ kernel pool, are exported by this driver.
+
+ To compile this driver as a module ( = code which can be inserted in
+ and removed from the running kernel whenever you want), say M here
+ and read <file:Documentation/modules.txt>. The module will be called
+ amd768_rng.o.
+
+ If unsure, say N.
+
+config NVRAM
+ tristate "/dev/nvram support"
+ ---help---
+ If you say Y here and create a character special file /dev/nvram
+ with major number 10 and minor number 144 using mknod ("man mknod"),
+ you get read and write access to the extra bytes of non-volatile
+ memory in the real time clock (RTC), which is contained in every PC
+ and most Ataris. The actual number of bytes varies, depending on the
+ nvram in the system, but is usually 114 (128-14 for the RTC).
+
+ This memory is conventionally called "CMOS RAM" on PCs and "NVRAM"
+ on Ataris. /dev/nvram may be used to view settings there, or to
+ change them (with some utility). It could also be used to frequently
+ save a few bits of very important data that may not be lost over
+ power-off and for which writing to disk is too insecure. Note
+ however that most NVRAM space in a PC belongs to the BIOS and you
+ should NEVER idly tamper with it. See Ralf Brown's interrupt list
+ for a guide to the use of CMOS bytes by your BIOS.
+
+ On Atari machines, /dev/nvram is always configured and does not need
+ to be selected.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called nvram.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config RTC
+ tristate "Enhanced Real Time Clock Support"
+ ---help---
+ If you say Y here and create a character special file /dev/rtc with
+ major number 10 and minor number 135 using mknod ("man mknod"), you
+ will get access to the real time clock (or hardware clock) built
+ into your computer.
+
+ Every PC has such a clock built in. It can be used to generate
+ signals from as low as 1Hz up to 8192Hz, and can also be used
+ as a 24 hour alarm. It reports status information via the file
+ /proc/driver/rtc and its behaviour is set by various ioctls on
+ /dev/rtc.
+
+ If you run Linux on a multiprocessor machine and said Y to
+ "Symmetric Multi Processing" above, you should say Y here to read
+ and set the RTC in an SMP compatible fashion.
+
+ If you think you have a use for such a device (such as periodic data
+ sampling), then say Y here, and read <file:Documentation/rtc.txt>
+ for details.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module is called rtc.o. If you want to compile it as a module,
+ say M here and read <file:Documentation/modules.txt>.
+
+config GEN_RTC
+ tristate "Generic /dev/rtc emulation"
+ depends on RTC!=y
+ ---help---
+ If you say Y here and create a character special file /dev/rtc with
+ major number 10 and minor number 135 using mknod ("man mknod"), you
+ will get access to the real time clock (or hardware clock) built
+ into your computer.
+
+ It reports status information via the file /proc/driver/rtc and its
+ behaviour is set by various ioctls on /dev/rtc. If you enable the
+ "extended RTC operation" below it will also provide an emulation
+ for RTC_UIE which is required by some programs and may improve
+ precision in some cases.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module is called genrtc.o. If you want to compile it as a module,
+ say M here and read <file:Documentation/modules.txt>. To load the
+ module automaticaly add 'alias char-major-10-135 genrtc' to your
+ /etc/modules.conf
+
+config GEN_RTC_X
+ bool "Extended RTC operation"
+ depends on GEN_RTC
+ help
+ Provides an emulation for RTC_UIE which is required by some programs
+ and may improve precision of the generic RTC support in some cases.
+
+config EFI_RTC
+ bool "EFI Real Time Clock Services"
+ depends on IA64
+
+config H8
+ bool "Tadpole ANA H8 Support (OBSOLETE)"
+ depends on OBSOLETE && ALPHA_BOOK1
+ help
+ The Hitachi H8/337 is a microcontroller used to deal with the power
+ and thermal environment. If you say Y here, you will be able to
+ communicate with it via a character special device.
+
+ If unsure, say N.
+
+config DTLK
+ tristate "Double Talk PC internal speech card support"
+ help
+ This driver is for the DoubleTalk PC, a speech synthesizer
+ manufactured by RC Systems (<http://www.rcsys.com/>). It is also
+ called the `internal DoubleTalk'. If you want to compile this as a
+ module ( = code which can be inserted in and removed from the
+ running kernel whenever you want), say M here and read
+ <file:Documentation/modules.txt>. The module will be called dtlk.o.
+
+config R3964
+ tristate "Siemens R3964 line discipline"
+ ---help---
+ This driver allows synchronous communication with devices using the
+ Siemens R3964 packet protocol. Unless you are dealing with special
+ hardware like PLCs, you are unlikely to need this.
+
+ To compile this driver as a module ( = code which can be inserted in
+ and removed from the running kernel whenever you want), say M here
+ and read <file:Documentation/modules.txt>. The module will be called
+ n_r3964.o.
+
+ If unsure, say N.
+
+config APPLICOM
+ tristate "Applicom intelligent fieldbus card support"
+ ---help---
+ This driver provides the kernel-side support for the intelligent
+ fieldbus cards made by Applicom International. More information
+ about these cards can be found on the WWW at the address
+ <http://www.applicom-int.com/>, or by email from David Woodhouse
+ <dwmw2@infradead.org>.
+
+ To compile this driver as a module ( = code which can be inserted in
+ and removed from the running kernel whenever you want), say M here
+ and read <file:Documentation/modules.txt>. The module will be called
+ applicom.o.
+
+ If unsure, say N.
+
+config SONYPI
+ tristate "Sony Vaio Programmable I/O Control Device support (EXPERIMENTAL)"
+ depends on EXPERIMENTAL && X86 && PCI
+ ---help---
+ This driver enables access to the Sony Programmable I/O Control
+ Device which can be found in many (all ?) Sony Vaio laptops.
+
+ If you have one of those laptops, read
+ <file:Documentation/sonypi.txt>, and say Y or M here.
+
+ If you want to compile the driver as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called sonypi.o.
+
+
+menu "Ftape, the floppy tape device driver"
+
+config FTAPE
+ tristate "Ftape (QIC-80/Travan) support"
+ ---help---
+ If you have a tape drive that is connected to your floppy
+ controller, say Y here.
+
+ Some tape drives (like the Seagate "Tape Store 3200" or the Iomega
+ "Ditto 3200" or the Exabyte "Eagle TR-3") come with a "high speed"
+ controller of their own. These drives (and their companion
+ controllers) are also supported if you say Y here.
+
+ If you have a special controller (such as the CMS FC-10, FC-20,
+ Mountain Mach-II, or any controller that is based on the Intel 82078
+ FDC like the high speed controllers by Seagate and Exabyte and
+ Iomega's "Ditto Dash") you must configure it by selecting the
+ appropriate entries from the "Floppy tape controllers" sub-menu
+ below and possibly modify the default values for the IRQ and DMA
+ channel and the IO base in ftape's configuration menu.
+
+ If you want to use your floppy tape drive on a PCI-bus based system,
+ please read the file <file:drivers/char/ftape/README.PCI>.
+
+ The ftape kernel driver is also available as a runtime loadable
+ module ( = code which can be inserted in and removed from the
+ running kernel whenever you want). If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>. The
+ module will be called ftape.o.
+
+ Note that the Ftape-HOWTO is out of date (sorry) and documents the
+ older version 2.08 of this software but still contains useful
+ information. There is a web page with more recent documentation at
+ <http://www.instmath.rwth-aachen.de/~heine/ftape/>. This page
+ always contains the latest release of the ftape driver and useful
+ information (backup software, ftape related patches and
+ documentation, FAQ). Note that the file system interface has
+ changed quite a bit compared to previous versions of ftape. Please
+ read <file:Documentation/ftape.txt>.
+
+source "drivers/char/ftape/Kconfig"
+
+endmenu
+
+source "drivers/char/agp/Kconfig"
+
+source "drivers/char/drm/Kconfig"
+
+source "drivers/char/pcmcia/Kconfig"
+
+config MWAVE
+ tristate "ACP Modem (Mwave) support"
+ depends on X86
+ ---help---
+ The ACP modem (Mwave) for Linux is a WinModem. It is composed of a
+ kernel driver and a user level application. Together these components
+ support direct attachment to public switched telephone networks (PSTNs)
+ and support selected world wide countries.
+
+ This version of the ACP Modem driver supports the IBM Thinkpad 600E,
+ 600, and 770 that include on board ACP modem hardware.
+
+ The modem also supports the standard communications port interface
+ (ttySx) and is compatible with the Hayes AT Command Set.
+
+ The user level application needed to use this driver can be found at
+ the IBM Linux Technology Center (LTC) web site:
+ <http://www.ibm.com/linux/ltc/>.
+
+ If you own one of the above IBM Thinkpads which has the Mwave chipset
+ in it, say Y.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called mwave.o. If you want to compile it as
+ a module, say M here and read Documentation/modules.txt.
+
+config SCx200_GPIO
+ tristate "NatSemi SCx200 GPIO Support"
+ depends on SCx200
+ help
+ Give userspace access to the GPIO pins on the National
+ Semiconductor SCx200 processors.
+
+ If compiled as a module, it will be called scx200_gpio.o.
+
+config RAW_DRIVER
+ tristate "RAW driver (/dev/raw/rawN)"
+ help
+ The raw driver permits block devices to be bound to /dev/raw/rawN.
+ Once bound, I/O against /dev/raw/rawN uses efficient zero-copy I/O.
+ See the raw(8) manpage for more details.
+
+endmenu
+
diff --git a/drivers/char/agp/Kconfig b/drivers/char/agp/Kconfig
new file mode 100644
index 000000000000..546b0d8f84cd
--- /dev/null
+++ b/drivers/char/agp/Kconfig
@@ -0,0 +1,125 @@
+config AGP
+ tristate "/dev/agpgart (AGP Support)" if !GART_IOMMU
+ default AGP_GART if GART_IOMMU
+ ---help---
+ AGP (Accelerated Graphics Port) is a bus system mainly used to
+ connect graphics cards to the rest of the system.
+
+ If you have an AGP system and you say Y here, it will be possible to
+ use the AGP features of your 3D rendering video card. This code acts
+ as a sort of "AGP driver" for the motherboard's chipset.
+
+ If you need more texture memory than you can get with the AGP GART
+ (theoretically up to 256 MB, but in practice usually 64 or 128 MB
+ due to kernel allocation issues), you could use PCI accesses
+ and have up to a couple gigs of texture space.
+
+ Note that this is the only means to have XFree4/GLX use
+ write-combining with MTRR support on the AGP bus. Without it, OpenGL
+ direct rendering will be a lot slower but still faster than PIO.
+
+ You should say Y here if you use XFree86 3.3.6 or 4.x and want to
+ use GLX or DRI. If unsure, say N.
+
+ This driver is available as a module. If you want to compile it as
+ a module, say M here and read <file:Documentation/modules.txt>. The
+ module will be called agpgart.o.
+
+config AGP_GART
+ bool "/dev/agpgart (AGP Support)"
+ depends on GART_IOMMU
+
+config AGP_INTEL
+ bool "Intel 440LX/BX/GX and I815/I820/I830M/I830MP/I840/I845/I850/I860 support"
+ depends on AGP
+ help
+ This option gives you AGP support for the GLX component of the
+ XFree86 4.x on Intel 440LX/BX/GX, 815, 820, 830, 840, 845, 850 and 860 chipsets.
+
+ You should say Y here if you use XFree86 3.3.6 or 4.x and want to
+ use GLX or DRI. If unsure, say N.
+
+config AGP_I810
+ bool "Intel I810/I815/I830M (on-board) support"
+ depends on AGP
+ help
+ This option gives you AGP support for the Xserver on the Intel 810
+ 815 and 830m chipset boards for their on-board integrated graphics. This
+ is required to do any useful video modes with these boards.
+
+config AGP_VIA
+ bool "VIA chipset support"
+ depends on AGP
+ help
+ This option gives you AGP support for the GLX component of the
+ XFree86 4.x on VIA MPV3/Apollo Pro chipsets.
+
+ You should say Y here if you use XFree86 3.3.6 or 4.x and want to
+ use GLX or DRI. If unsure, say N.
+
+config AGP_AMD
+ bool "AMD Irongate, 761, and 762 support"
+ depends on AGP
+ help
+ This option gives you AGP support for the GLX component of the
+ XFree86 4.x on AMD Irongate, 761, and 762 chipsets.
+
+ You should say Y here if you use XFree86 3.3.6 or 4.x and want to
+ use GLX or DRI. If unsure, say N.
+
+config AGP_SIS
+ bool "Generic SiS support"
+ depends on AGP
+ help
+ This option gives you AGP support for the GLX component of the "soon
+ to be released" XFree86 4.x on Silicon Integrated Systems [SiS]
+ chipsets.
+
+ Note that 5591/5592 AGP chipsets are NOT supported.
+
+ You should say Y here if you use XFree86 3.3.6 or 4.x and want to
+ use GLX or DRI. If unsure, say N.
+
+config AGP_ALI
+ bool "ALI chipset support"
+ depends on AGP
+ ---help---
+ This option gives you AGP support for the GLX component of the
+ XFree86 4.x on the following ALi chipsets. The supported chipsets
+ include M1541, M1621, M1631, M1632, M1641,M1647,and M1651.
+ For the ALi-chipset question, ALi suggests you refer to
+ <http://www.ali.com.tw/eng/support/index.shtml>.
+
+ The M1541 chipset can do AGP 1x and 2x, but note that there is an
+ acknowledged incompatibility with Matrox G200 cards. Due to
+ timing issues, this chipset cannot do AGP 2x with the G200.
+ This is a hardware limitation. AGP 1x seems to be fine, though.
+
+ You should say Y here if you use XFree86 3.3.6 or 4.x and want to
+ use GLX or DRI. If unsure, say N.
+
+config AGP_SWORKS
+ bool "Serverworks LE/HE support"
+ depends on AGP
+ help
+ Say Y here to support the Serverworks AGP card. See
+ <http://www.serverworks.com/> for product descriptions and images.
+
+config AGP_AMD_8151
+ bool "AMD 8151 support"
+ depends on AGP && !GART_IOMMU
+
+config AGP_I460
+ bool "Intel 460GX support"
+ depends on AGP && IA64
+ help
+ This option gives you AGP GART support for the Intel 460GX chipset
+ for IA64 processors.
+
+config AGP_HP_ZX1
+ bool "HP ZX1 AGP support"
+ depends on AGP && IA64
+ help
+ This option gives you AGP GART support for the HP ZX1 chipset
+ for IA64 processors.
+
diff --git a/drivers/char/drm/Kconfig b/drivers/char/drm/Kconfig
new file mode 100644
index 000000000000..404e8090a49e
--- /dev/null
+++ b/drivers/char/drm/Kconfig
@@ -0,0 +1,63 @@
+#
+# Drm device configuration
+#
+# This driver provides support for the
+# Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
+#
+config DRM
+ bool "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)"
+ help
+ Kernel-level support for the Direct Rendering Infrastructure (DRI)
+ introduced in XFree86 4.0. If you say Y here, you need to select
+ the module that's right for your graphics card from the list below.
+ These modules provide support for synchronization, security, and
+ DMA transfers. Please see <http://dri.sourceforge.net/> for more
+ details. You should also select and configure AGP
+ (/dev/agpgart) support.
+
+config DRM_TDFX
+ tristate "3dfx Banshee/Voodoo3+"
+ depends on DRM
+ help
+ Choose this option if you have a 3dfx Banshee or Voodoo3 (or later),
+ graphics card. If M is selected, the module will be called tdfx.o.
+
+# tristate ' 3dlabs GMX 2000' CONFIG_DRM_GAMMA
+config DRM_R128
+ tristate "ATI Rage 128"
+ depends on DRM
+ help
+ Choose this option if you have an ATI Rage 128 graphics card. If M
+ is selected, the module will be called r128.o. AGP support for
+ this card is strongly suggested (unless you have a PCI version).
+
+config DRM_RADEON
+ tristate "ATI Radeon"
+ depends on DRM && AGP
+ help
+ Choose this option if you have an ATI Radeon graphics card. There
+ are both PCI and AGP versions. You don't need to choose this to
+ run the Radeon in plain VGA mode. There is a product page at
+ <http://www.ati.com/na/pages/products/pc/radeon32/index.html>.
+ If M is selected, the module will be called radeon.o.
+
+config DRM_I810
+ tristate "Intel I810"
+ depends on DRM && AGP
+ help
+ Choose this option if you have an Intel I810 graphics card. If M is
+ selected, the module will be called i810.o. AGP support is required
+ for this driver to work.
+
+config DRM_I830
+ tristate "Intel 830M"
+ depends on DRM && AGP
+
+config DRM_MGA
+ tristate "Matrox g200/g400"
+ depends on DRM && AGP
+ help
+ Choose this option if you have a Matrox G200, G400 or G450 graphics
+ card. If M is selected, the module will be called mga.o. AGP
+ support is required for this driver to work.
+
diff --git a/drivers/char/ftape/Kconfig b/drivers/char/ftape/Kconfig
new file mode 100644
index 000000000000..f4a0ff69eb82
--- /dev/null
+++ b/drivers/char/ftape/Kconfig
@@ -0,0 +1,343 @@
+#
+# Ftape configuration
+#
+config ZFTAPE
+ tristate "Zftape, the VFS interface"
+ depends on FTAPE
+ ---help---
+ Normally, you want to say Y or M. DON'T say N here or you
+ WON'T BE ABLE TO USE YOUR FLOPPY TAPE DRIVE.
+
+ The ftape module itself no longer contains the routines necessary
+ to interface with the kernel VFS layer (i.e. to actually write data
+ to and read data from the tape drive). Instead the file system
+ interface (i.e. the hardware independent part of the driver) has
+ been moved to a separate module.
+
+ If you say M zftape will be compiled as a runtime loadable
+ module ( = code which can be inserted in and removed from the
+ running kernel whenever you want). In this case you should read
+ <file:Documentation/modules.txt>. The module will be called
+ zftape.o.
+
+ Regardless of whether you say Y or M here, an additional runtime
+ loadable module called `zft-compressor.o' which contains code to
+ support user transparent on-the-fly compression based on Ross
+ William's lzrw3 algorithm will be produced. If you have enabled the
+ kernel module loader (i.e. have said Y to "Kernel module loader
+ support", above) then `zft-compressor.o' will be loaded
+ automatically by zftape when needed.
+
+ Despite its name, zftape does NOT use compression by default. The
+ file <file:Documentation/ftape.txt> contains a short description of
+ the most important changes in the file system interface compared to
+ previous versions of ftape. The ftape home page
+ <http://www.instmath.rwth-aachen.de/~heine/ftape/> contains
+ further information.
+
+ IMPORTANT NOTE: zftape can read archives created by previous
+ versions of ftape and provide file mark support (i.e. fast skipping
+ between tape archives) but previous version of ftape will lack file
+ mark support when reading archives produced by zftape.
+
+config ZFT_DFLT_BLK_SZ
+ int "Default block size"
+ depends on ZFTAPE
+ default "10240"
+ ---help---
+ If unsure leave this at its default value, i.e. 10240. Note that
+ you specify only the default block size here. The block size can be
+ changed at run time using the MTSETBLK tape operation with the
+ MTIOCTOP ioctl (i.e. with "mt -f /dev/qft0 setblk #BLKSZ" from the
+ shell command line).
+
+ The probably most striking difference between zftape and previous
+ versions of ftape is the fact that all data must be written or read
+ in multiples of a fixed block size. The block size defaults to
+ 10240 which is what GNU tar uses. The values for the block size
+ should be either 1 or multiples of 1024 up to a maximum value of
+ 63488 (i.e. 62 K). If you specify `1' then zftape's builtin
+ compression will be disabled.
+
+ Reasonable values are `10240' (GNU tar's default block size),
+ `5120' (afio's default block size), `32768' (default block size some
+ backup programs assume for SCSI tape drives) or `1' (no restriction
+ on block size, but disables builtin compression).
+
+comment "The compressor will be built as a module only!"
+ depends on FTAPE && ZFTAPE
+
+config ZFT_COMPRESSOR
+ tristate
+ depends on FTAPE!=n && ZFTAPE!=n
+ default m
+
+config FT_NR_BUFFERS
+ int "Number of ftape buffers (EXPERIMENTAL)"
+ depends on FTAPE && EXPERIMENTAL
+ default "3"
+ help
+ Please leave this at `3' unless you REALLY know what you are doing.
+ It is not necessary to change this value. Values below 3 make the
+ proper use of ftape impossible, values greater than 3 are a waste of
+ memory. You can change the amount of DMA memory used by ftape at
+ runtime with "mt -f /dev/qft0 setdrvbuffer #NUMBUFFERS". Each buffer
+ wastes 32 KB of memory. Please note that this memory cannot be
+ swapped out.
+
+config FT_PROC_FS
+ bool "Enable procfs status report (+2kb)"
+ depends on FTAPE && PROC_FS
+ ---help---
+ Optional. Saying Y will result in creation of a directory
+ `/proc/ftape' under the /proc file system. The files can be viewed
+ with your favorite pager (i.e. use "more /proc/ftape/history" or
+ "less /proc/ftape/history" or simply "cat /proc/ftape/history"). The
+ file will contain some status information about the inserted
+ cartridge, the kernel driver, your tape drive, the floppy disk
+ controller and the error history for the most recent use of the
+ kernel driver. Saying Y will enlarge the size of the ftape driver
+ by approximately 2 KB.
+
+ WARNING: When compiling ftape as a module (i.e. saying M to "Floppy
+ tape drive") it is dangerous to use ftape's /proc file system
+ interface. Accessing `/proc/ftape' while the module is unloaded will
+ result in a kernel Oops. This cannot be fixed from inside ftape.
+
+choice
+ prompt "Debugging output"
+ depends on FTAPE
+ default FT_NORMAL_DEBUG
+
+config FT_NORMAL_DEBUG
+ bool "Normal"
+ ---help---
+ This option controls the amount of debugging output the ftape driver
+ is ABLE to produce; it does not increase or diminish the debugging
+ level itself. If unsure, leave this at its default setting,
+ i.e. choose "Normal".
+
+ Ftape can print lots of debugging messages to the system console
+ resp. kernel log files. Reducing the amount of possible debugging
+ output reduces the size of the kernel module by some KB, so it might
+ be a good idea to use "None" for emergency boot floppies.
+
+ If you want to save memory then the following strategy is
+ recommended: leave this option at its default setting "Normal" until
+ you know that the driver works as expected, afterwards reconfigure
+ the kernel, this time specifying "Reduced" or "None" and recompile
+ and install the kernel as usual. Note that choosing "Excessive"
+ debugging output does not increase the amount of debugging output
+ printed to the console but only makes it possible to produce
+ "Excessive" debugging output.
+
+ Please read <file:Documentation/ftape.txt> for a short description
+ how to control the amount of debugging output.
+
+config FT_FULL_DEBUG
+ bool "Excessive"
+ help
+ Extremely verbose output for driver debugging purposes.
+
+config FT_NO_TRACE
+ bool "Reduced"
+ help
+ Reduced tape driver debugging output.
+
+config FT_NO_TRACE_AT_ALL
+ bool "None"
+ help
+ Suppress all debugging output from the tape drive.
+
+endchoice
+
+comment "Hardware configuration"
+ depends on FTAPE
+
+choice
+ prompt "Floppy tape controllers"
+ depends on FTAPE
+ default FT_STD_FDC
+
+config FT_STD_FDC
+ bool "Standard"
+ ---help---
+ Only change this setting if you have a special controller. If you
+ didn't plug any add-on card into your computer system but just
+ plugged the floppy tape cable into the already existing floppy drive
+ controller then you don't want to change the default setting,
+ i.e. choose "Standard".
+
+ Choose "MACH-2" if you have a Mountain Mach-2 controller.
+ Choose "FC-10/FC-20" if you have a Colorado FC-10 or FC-20
+ controller.
+ Choose "Alt/82078" if you have another controller that is located at
+ an IO base address different from the standard floppy drive
+ controller's base address of `0x3f0', or uses an IRQ (interrupt)
+ channel different from `6', or a DMA channel different from
+ `2'. This is necessary for any controller card that is based on
+ Intel's 82078 FDC such as Seagate's, Exabyte's and Iomega's "high
+ speed" controllers.
+
+ If you choose something other than "Standard" then please make
+ sure that the settings for the IO base address and the IRQ and DMA
+ channel in the configuration menus below are correct. Use the manual
+ of your tape drive to determine the correct settings!
+
+ If you are already successfully using your tape drive with another
+ operating system then you definitely should use the same settings
+ for the IO base, the IRQ and DMA channel that have proven to work
+ with that other OS.
+
+ Note that this menu lets you specify only the default setting for
+ the hardware setup. The hardware configuration can be changed at
+ boot time (when ftape is compiled into the kernel, i.e. if you
+ have said Y to "Floppy tape drive") or module load time (i.e. if you
+ have said M to "Floppy tape drive").
+
+ Please read also the file <file:Documentation/ftape.txt> which
+ contains a short description of the parameters that can be set at
+ boot or load time. If you want to use your floppy tape drive on a
+ PCI-bus based system, please read the file
+ <file:drivers/char/ftape/README.PCI>.
+
+config FT_MACH2
+ bool "MACH-2"
+
+config FT_PROBE_FC10
+ bool "FC-10/FC-20"
+
+config FT_ALT_FDC
+ bool "Alt/82078"
+
+endchoice
+
+comment "Consult the manuals of your tape drive for the correct settings!"
+ depends on FTAPE && !FT_STD_FDC
+
+config FT_FDC_BASE
+ hex "IO base of the floppy disk controller"
+ depends on FTAPE && !FT_STD_FDC
+ default "0"
+ ---help---
+ You don't need to specify a value if the following default
+ settings for the base IO address are correct:
+ <<< MACH-2 : 0x1E0 >>>
+ <<< FC-10/FC-20: 0x180 >>>
+ <<< Secondary : 0x370 >>>
+ Secondary refers to a secondary FDC controller like the "high speed"
+ controllers delivered by Seagate or Exabyte or Iomega's Ditto Dash.
+ Please make sure that the setting for the IO base address
+ specified here is correct. USE THE MANUAL OF YOUR TAPE DRIVE OR
+ CONTROLLER CARD TO DETERMINE THE CORRECT SETTING. If you are already
+ successfully using the tape drive with another operating system then
+ you definitely should use the same settings for the IO base that has
+ proven to work with that other OS.
+
+ Note that this menu lets you specify only the default setting for
+ the IO base. The hardware configuration can be changed at boot time
+ (when ftape is compiled into the kernel, i.e. if you specified Y to
+ "Floppy tape drive") or module load time (i.e. if you have said M to
+ "Floppy tape drive").
+
+ Please read also the file <file:Documentation/ftape.txt> which
+ contains a short description of the parameters that can be set at
+ boot or load time.
+
+config FT_FDC_IRQ
+ int "IRQ channel of the floppy disk controller"
+ depends on FTAPE && !FT_STD_FDC
+ default "0"
+ ---help---
+ You don't need to specify a value if the following default
+ settings for the interrupt channel are correct:
+ <<< MACH-2 : 6 >>>
+ <<< FC-10/FC-20: 9 >>>
+ <<< Secondary : 6 >>>
+ Secondary refers to secondary a FDC controller like the "high speed"
+ controllers delivered by Seagate or Exabyte or Iomega's Ditto Dash.
+ Please make sure that the setting for the IO base address
+ specified here is correct. USE THE MANUAL OF YOUR TAPE DRIVE OR
+ CONTROLLER CARD TO DETERMINE THE CORRECT SETTING. If you are already
+ successfully using the tape drive with another operating system then
+ you definitely should use the same settings for the IO base that has
+ proven to work with that other OS.
+
+ Note that this menu lets you specify only the default setting for
+ the IRQ channel. The hardware configuration can be changed at boot
+ time (when ftape is compiled into the kernel, i.e. if you said Y to
+ "Floppy tape drive") or module load time (i.e. if you said M to
+ "Floppy tape drive").
+
+ Please read also the file <file:Documentation/ftape.txt> which
+ contains a short description of the parameters that can be set at
+ boot or load time.
+
+config FT_FDC_DMA
+ int "DMA channel of the floppy disk controller"
+ depends on FTAPE && !FT_STD_FDC
+ default "0"
+ ---help---
+ You don't need to specify a value if the following default
+ settings for the DMA channel are correct:
+ <<< MACH-2 : 2 >>>
+ <<< FC-10/FC-20: 3 >>>
+ <<< Secondary : 2 >>>
+ Secondary refers to a secondary FDC controller like the "high speed"
+ controllers delivered by Seagate or Exabyte or Iomega's Ditto Dash.
+ Please make sure that the setting for the IO base address
+ specified here is correct. USE THE MANUAL OF YOUR TAPE DRIVE OR
+ CONTROLLER CARD TO DETERMINE THE CORRECT SETTING. If you are already
+ successfully using the tape drive with another operating system then
+ you definitely should use the same settings for the IO base that has
+ proven to work with that other OS.
+
+ Note that this menu lets you specify only the default setting for
+ the DMA channel. The hardware configuration can be changed at boot
+ time (when ftape is compiled into the kernel, i.e. if you said Y to
+ "Floppy tape drive") or module load time (i.e. if you said M to
+ "Floppy tape drive").
+
+ Please read also the file <file:Documentation/ftape.txt> which
+ contains a short description of the parameters that can be set at
+ boot or load time.
+
+config FT_FDC_THR
+ int "Default FIFO threshold (EXPERIMENTAL)"
+ depends on FTAPE && EXPERIMENTAL
+ default "8"
+ help
+ Set the FIFO threshold of the FDC. If this is higher the DMA
+ controller may serve the FDC after a higher latency time. If this is
+ lower, fewer DMA transfers occur leading to less bus contention.
+ You may try to tune this if ftape annoys you with "reduced data
+ rate because of excessive overrun errors" messages. However, this
+ doesn't seem to have too much effect.
+
+ If unsure, don't touch the initial value, i.e. leave it at "8".
+
+config FT_FDC_MAX_RATE
+ int "Maximal data rate to use (EXPERIMENTAL)"
+ depends on FTAPE && EXPERIMENTAL
+ default "2000"
+ ---help---
+ With some motherboard/FDC combinations ftape will not be able to
+ run your FDC/tape drive combination at the highest available
+ speed. If this is the case you'll encounter "reduced data rate
+ because of excessive overrun errors" messages and lots of retries
+ before ftape finally decides to reduce the data rate.
+
+ In this case it might be desirable to tell ftape beforehand that
+ it need not try to run the tape drive at the highest available
+ speed. If unsure, leave this disabled, i.e. leave it at 2000
+ bits/sec.
+
+config FT_ALPHA_CLOCK
+ int "CPU clock frequency of your DEC Alpha" if ALPHA
+ depends on FTAPE
+ default "0"
+ help
+ On some DEC Alpha machines the CPU clock frequency cannot be
+ determined automatically, so you need to specify it here ONLY if
+ running a DEC Alpha, otherwise this setting has no effect.
+
diff --git a/drivers/char/pcmcia/Kconfig b/drivers/char/pcmcia/Kconfig
new file mode 100644
index 000000000000..9d18890877f2
--- /dev/null
+++ b/drivers/char/pcmcia/Kconfig
@@ -0,0 +1,22 @@
+#
+# PCMCIA character device configuration
+#
+
+menu "PCMCIA character devices"
+ depends on HOTPLUG && PCMCIA!=n
+
+config SYNCLINK_CS
+ tristate "SyncLink PC Card support"
+ depends on PCMCIA
+ help
+ Enable support for the SyncLink PC Card serial adapter, running
+ asynchronous and HDLC communications up to 512Kbps. The port is
+ selectable for RS-232, V.35, RS-449, RS-530, and X.21
+
+ This driver may be built as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called synclinkmp.o. If you want to do that, say M
+ here.
+
+endmenu
+
diff --git a/drivers/fc4/Kconfig b/drivers/fc4/Kconfig
new file mode 100644
index 000000000000..906a60ca84f1
--- /dev/null
+++ b/drivers/fc4/Kconfig
@@ -0,0 +1,89 @@
+#
+# FC4 device configuration
+#
+
+menu "Fibre Channel support"
+
+config FC4
+ tristate "Fibre Channel and FC4 SCSI support"
+ ---help---
+ Fibre Channel is a high speed serial protocol mainly used to
+ connect large storage devices to the computer; it is compatible with
+ and intended to replace SCSI.
+
+ This is an experimental support for storage arrays connected to your
+ computer using optical fibre cables and the "X3.269-199X Fibre
+ Channel Protocol for SCSI" specification. If you want to use this,
+ you need to say Y here and to "SCSI support" as well as to the
+ drivers for the storage array itself and for the interface adapter
+ such as SOC or SOC+. This subsystem could even serve for IP
+ networking, with some code extensions.
+
+ If unsure, say N.
+
+comment "FC4 drivers"
+ depends on FC4
+
+config FC4_SOC
+ tristate "Sun SOC/Sbus"
+ depends on FC4!=n && (SPARC32 || SPARC64)
+ help
+ Serial Optical Channel is an interface card with one or two Fibre
+ Optic ports, each of which can be connected to a disk array. Note
+ that if you have older firmware in the card, you'll need the
+ microcode from the Solaris driver to make it work.
+
+ This support is also available as a module called soc.o ( = code
+ which can be inserted in and removed from the running kernel
+ whenever you want). If you want to compile it as a module, say M
+ here and read <file:Documentation/modules.txt>.
+
+config FC4_SOCAL
+ tristate "Sun SOC+ (aka SOCAL)"
+ depends on FC4!=n && (SPARC32 || SPARC64)
+ ---help---
+ Serial Optical Channel Plus is an interface card with up to two
+ Fibre Optic ports. This card supports FC Arbitrated Loop (usually
+ A5000 or internal FC disks in E[3-6]000 machines through the
+ Interface Board). You'll probably need the microcode from the
+ Solaris driver to make it work.
+
+ This support is also available as a module called socal.o ( = code
+ which can be inserted in and removed from the running kernel
+ whenever you want). If you want to compile it as a module, say M
+ here and read <file:Documentation/modules.txt>.
+
+comment "FC4 targets"
+ depends on FC4
+
+config SCSI_PLUTO
+ tristate "SparcSTORAGE Array 100 and 200 series"
+ depends on FC4!=n && SCSI
+ help
+ If you never bought a disk array made by Sun, go with N.
+
+ This support is also available as a module called pluto.o ( = code
+ which can be inserted in and removed from the running kernel
+ whenever you want). If you want to compile it as a module, say M
+ here and read <file:Documentation/modules.txt>.
+
+config SCSI_FCAL
+ tristate "Sun Enterprise Network Array (A5000 and EX500)" if SPARC32 || SPARC64
+ depends on FC4!=n && SCSI
+ help
+ This driver drives FC-AL disks connected through a Fibre Channel
+ card using the drivers/fc4 layer (currently only SOCAL). The most
+ common is either A5000 array or internal disks in E[3-6]000
+ machines.
+
+ This support is also available as a module called fcal.o ( = code
+ which can be inserted in and removed from the running kernel
+ whenever you want). If you want to compile it as a module, say M
+ here and read <file:Documentation/modules.txt>. If unsure, say N.
+
+config SCSI_FCAL
+ prompt "Generic FC-AL disk driver"
+ depends on FC4!=n && SCSI && !SPARC32 && !SPARC64
+
+endmenu
+
diff --git a/drivers/hotplug/Kconfig b/drivers/hotplug/Kconfig
new file mode 100644
index 000000000000..46d103228f07
--- /dev/null
+++ b/drivers/hotplug/Kconfig
@@ -0,0 +1,63 @@
+#
+# PCI Hotplug support
+#
+
+menu "PCI Hotplug Support"
+ depends on HOTPLUG
+
+config HOTPLUG_PCI
+ tristate "Support for PCI Hotplug (EXPERIMENTAL)"
+ depends on PCI && EXPERIMENTAL
+ ---help---
+ Say Y here if you have a motherboard with a PCI Hotplug controller.
+ This allows you to add and remove PCI cards while the machine is
+ powered up and running. The file system pcihpfs must be mounted
+ in order to interact with any PCI Hotplug controllers.
+
+ This code is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called pci_hotplug.o. If you want to compile it
+ as a module, say M here and read <file:Documentation/modules.txt>.
+
+ When in doubt, say N.
+
+config HOTPLUG_PCI_COMPAQ
+ tristate "Compaq PCI Hotplug driver"
+ depends on HOTPLUG_PCI && X86
+ help
+ Say Y here if you have a motherboard with a Compaq PCI Hotplug
+ controller.
+
+ This code is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called cpqphp.o. If you want to compile it
+ as a module, say M here and read <file:Documentation/modules.txt>.
+
+ When in doubt, say N.
+
+config HOTPLUG_PCI_COMPAQ_NVRAM
+ bool "Save configuration into NVRAM on Compaq servers"
+ depends on HOTPLUG_PCI_COMPAQ
+ help
+ Say Y here if you have a Compaq server that has a PCI Hotplug
+ controller. This will allow the PCI Hotplug driver to store the PCI
+ system configuration options in NVRAM.
+
+ When in doubt, say N.
+
+config HOTPLUG_PCI_IBM
+ tristate "IBM PCI Hotplug driver"
+ depends on HOTPLUG_PCI && X86_IO_APIC && X86
+ help
+ Say Y here if you have a motherboard with a IBM PCI Hotplug
+ controller.
+
+ This code is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called cpqphp.o. If you want to compile it
+ as a module, say M here and read <file:Documentation/modules.txt>.
+
+ When in doubt, say N.
+
+endmenu
+
diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig
new file mode 100644
index 000000000000..131f4c901af5
--- /dev/null
+++ b/drivers/i2c/Kconfig
@@ -0,0 +1,197 @@
+#
+# Character device configuration
+#
+
+menu "I2C support"
+
+config I2C
+ tristate "I2C support"
+ ---help---
+ I2C (pronounce: I-square-C) is a slow serial bus protocol used in
+ many micro controller applications and developed by Philips. SMBus,
+ or System Management Bus is a subset of the I2C protocol. More
+ information is contained in the directory <file:Documentation/i2c/>,
+ especially in the file called "summary" there.
+
+ Both I2C and SMBus are supported here. You will need this for
+ hardware sensors support, and also for Video For Linux support.
+ Specifically, if you want to use a BT848 based frame grabber/overlay
+ boards under Linux, say Y here and also to "I2C bit-banging
+ interfaces", below.
+
+ If you want I2C support, you should say Y here and also to the
+ specific driver for your bus adapter(s) below. If you say Y to
+ "/proc file system" below, you will then get a /proc interface which
+ is documented in <file:Documentation/i2c/proc-interface>.
+
+ This I2C support is also available as a module. If you want to
+ compile it as a module, say M here and read
+ <file:Documentation/modules.txt>.
+ The module will be called i2c-core.o.
+
+config I2C_ALGOBIT
+ tristate "I2C bit-banging interfaces"
+ depends on I2C
+ help
+ This allows you to use a range of I2C adapters called bit-banging
+ adapters. Say Y if you own an I2C adapter belonging to this class
+ and then say Y to the specific driver for you adapter below.
+
+ This support is also available as a module. If you want to compile
+ it as a module, say M here and read
+ <file:Documentation/modules.txt>.
+ The module will be called i2c-algo-bit.o.
+
+config I2C_PHILIPSPAR
+ tristate "Philips style parallel port adapter"
+ depends on I2C_ALGOBIT && PARPORT
+ ---help---
+ This supports parallel-port I2C adapters made by Philips. Say Y if
+ you own such an adapter.
+
+ This driver is also available as a module. If you want to compile
+ it as a module, say M here and read
+ <file:Documentation/modules.txt>.
+ The module will be called i2c-philips-par.o.
+
+ Note that if you want support for different parallel port devices,
+ life will be much easier if you compile them all as modules.
+
+config I2C_ELV
+ tristate "ELV adapter"
+ depends on I2C_ALGOBIT
+ help
+ This supports parallel-port I2C adapters called ELV. Say Y if you
+ own such an adapter.
+
+ This driver is also available as a module. If you want to compile
+ it as a module, say M here and read
+ <file:Documentation/modules.txt>.
+ The module will be called i2c-elv.o.
+
+config I2C_VELLEMAN
+ tristate "Velleman K9000 adapter"
+ depends on I2C_ALGOBIT
+ help
+ This supports the Velleman K9000 parallel-port I2C adapter. Say Y
+ if you own such an adapter.
+
+ This driver is also available as a module. If you want to compile
+ it as a module, say M here and read
+ <file:Documentation/modules.txt>.
+ The module will be called i2c-velleman.o.
+
+config SCx200_I2C
+ tristate "NatSemi SCx200 I2C using GPIO pins"
+ depends on SCx200 && I2C_ALGOBIT
+ help
+ Enable the use of two GPIO pins of a SCx200 processor as an I2C bus.
+
+ If you don't know what to do here, say N.
+
+ If compiled as a module, it will be called scx200_i2c.o.
+
+config SCx200_I2C_SCL
+ int "GPIO pin used for SCL"
+ depends on SCx200_I2C
+ default "12"
+ help
+ Enter the GPIO pin number used for the SCL signal. This value can
+ also be specified with a module parameter.
+
+config SCx200_I2C_SDA
+ int "GPIO pin used for SDA"
+ depends on SCx200_I2C
+ default "13"
+ help
+ Enter the GPIO pin number used for the SSA signal. This value can
+ also be specified with a module parameter.
+
+config SCx200_ACB
+ tristate "NatSemi SCx200 ACCESS.bus"
+ depends on I2C_ALGOBIT!=n && I2C
+ help
+ Enable the use of the ACCESS.bus controllers of a SCx200 processor.
+
+ If you don't know what to do here, say N.
+
+ If compiled as a module, it will be called scx200_acb.o.
+
+config I2C_ALGOPCF
+ tristate "I2C PCF 8584 interfaces"
+ depends on I2C
+ help
+ This allows you to use a range of I2C adapters called PCF adapters.
+ Say Y if you own an I2C adapter belonging to this class and then say
+ Y to the specific driver for you adapter below.
+
+ This support is also available as a module. If you want to compile
+ it as a module, say M here and read
+ <file:Documentation/modules.txt>.
+ The module will be called i2c-algo-pcf.o.
+
+config I2C_ELEKTOR
+ tristate "Elektor ISA card"
+ depends on I2C_ALGOPCF
+ help
+ This supports the PCF8584 ISA bus I2C adapter. Say Y if you own
+ such an adapter.
+
+ This driver is also available as a module. If you want to compile
+ it as a module, say M here and read
+ <file:Documentation/modules.txt>.
+ The module will be called i2c-elektor.o.
+
+config ITE_I2C_ALGO
+ tristate "ITE I2C Algorithm"
+ depends on MIPS_ITE8172 && I2C
+
+config ITE_I2C_ADAP
+ tristate "ITE I2C Adapter"
+ depends on ITE_I2C_ALGO
+
+config I2C_ALGO8XX
+ tristate "MPC8xx CPM I2C interface"
+ depends on 8xx && I2C
+
+config I2C_RPXLITE
+ tristate "Embedded Planet RPX Lite/Classic suppoort"
+ depends on (RPXLITE || RPXCLASSIC) && I2C_ALGO8XX
+
+config I2C_IBM_OCP_ALGO
+ tristate "IBM on-chip I2C Algorithm"
+ depends on IBM_OCP && I2C
+
+config I2C_IBM_OCP_ADAP
+ tristate "IBM on-chip I2C Adapter"
+ depends on I2C_IBM_OCP_ALGO
+
+# This is needed for automatic patch generation: sensors code starts here
+# This is needed for automatic patch generation: sensors code ends here
+config I2C_CHARDEV
+ tristate "I2C device interface"
+ depends on I2C
+ help
+ Say Y here to use i2c-* device files, usually found in the /dev
+ directory on your system. They make it possible to have user-space
+ programs use the I2C bus. Information on how to do this is
+ contained in the file <file:Documentation/i2c/dev-interface>.
+
+ This code is also available as a module. If you want to compile
+ it as a module, say M here and read
+ <file:Documentation/modules.txt>.
+ The module will be called i2c-dev.o.
+
+config I2C_PROC
+ tristate "I2C /proc interface (required for hardware sensors)"
+ depends on I2C && SYSCTL
+ help
+ This provides support for i2c device entries in the /proc filesystem.
+ The entries will be found in /proc/sys/dev/sensors.
+
+ This code is also available as a module. If you want to compile
+ it as a module, say M here and read <file:Documentation/modules.txt>.
+ The module will be called i2c-proc.o.
+
+endmenu
+
diff --git a/drivers/ide/Kconfig b/drivers/ide/Kconfig
new file mode 100644
index 000000000000..1d3142c87764
--- /dev/null
+++ b/drivers/ide/Kconfig
@@ -0,0 +1,1012 @@
+#
+# IDE ATA ATAPI Block device driver configuration
+#
+# Andre Hedrick <andre@linux-ide.org>
+#
+
+menu "IDE, ATA and ATAPI Block devices"
+ depends on IDE!=n
+
+config BLK_DEV_IDE
+ tristate "Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support"
+ depends on IDE
+ ---help---
+ If you say Y here, you will use the full-featured IDE driver to
+ control up to ten ATA/IDE interfaces, each being able to serve a
+ "master" and a "slave" device, for a total of up to twenty ATA/IDE
+ disk/cdrom/tape/floppy drives.
+
+ Useful information about large (>540 MB) IDE disks, multiple
+ interfaces, what to do if ATA/IDE devices are not automatically
+ detected, sound card ATA/IDE ports, module support, and other
+ topics, is contained in <file:Documentation/ide.txt>. For detailed
+ information about hard drives, consult the Disk-HOWTO and the
+ Multi-Disk-HOWTO, available from
+ <http://www.linuxdoc.org/docs.html#howto>.
+
+ To fine-tune ATA/IDE drive/interface parameters for improved
+ performance, look for the hdparm package at
+ <ftp://ibiblio.org/pub/Linux/system/hardware/>.
+
+ If you want to compile this driver as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt> and
+ <file:Documentation/ide.txt>. The module will be called ide-mod.o.
+ Do not compile this driver as a module if your root file system (the
+ one containing the directory /) is located on an IDE device.
+
+ If you have one or more IDE drives, say Y or M here. If your system
+ has no IDE drives, or if memory requirements are really tight, you
+ could say N here, and select the "Old hard disk driver" below
+ instead to save about 13 KB of memory in the kernel.
+
+comment "Please see Documentation/ide.txt for help/info on IDE drives"
+
+config BLK_DEV_HD_IDE
+ bool "Use old disk-only driver on primary interface"
+ depends on BLK_DEV_IDE && X86
+ ---help---
+ There are two drivers for MFM/RLL/IDE disks. Most people use just
+ the new enhanced driver by itself. This option however installs the
+ old hard disk driver to control the primary IDE/disk interface in
+ the system, leaving the new enhanced IDE driver to take care of only
+ the 2nd/3rd/4th IDE interfaces. Doing this will prevent you from
+ having an IDE/ATAPI CD-ROM or tape drive connected to the primary
+ IDE interface. Choosing this option may be useful for older systems
+ which have MFM/RLL/ESDI controller+drives at the primary port
+ address (0x1f0), along with IDE drives at the secondary/3rd/4th port
+ addresses.
+
+ Normally, just say N here; you will then use the new driver for all
+ 4 interfaces.
+
+config BLK_DEV_HD
+ bool
+ default BLK_DEV_HD_ONLY if BLK_DEV_IDE=n
+ default BLK_DEV_HD_IDE if BLK_DEV_IDE
+
+config BLK_DEV_IDEDISK
+ tristate "Include IDE/ATA-2 DISK support"
+ depends on BLK_DEV_IDE
+ ---help---
+ This will include enhanced support for MFM/RLL/IDE hard disks. If
+ you have a MFM/RLL/IDE disk, and there is no special reason to use
+ the old hard disk driver instead, say Y. If you have an SCSI-only
+ system, you can say N here.
+
+ If you want to compile this driver as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called ide-disk.o. Do not compile this driver as a module
+ if your root file system (the one containing the directory /) is
+ located on the IDE disk. If unsure, say Y.
+
+config IDEDISK_MULTI_MODE
+ bool "Use multi-mode by default"
+ depends on BLK_DEV_IDEDISK
+ help
+ If you get this error, try to say Y here:
+
+ hda: set_multmode: status=0x51 { DriveReady SeekComplete Error }
+ hda: set_multmode: error=0x04 { DriveStatusError }
+
+ If in doubt, say N.
+
+config IDEDISK_STROKE
+ bool "Auto-Geometry Resizing support"
+ depends on BLK_DEV_IDEDISK
+ help
+ Should you have a system w/ an AWARD Bios and your drives are larger
+ than 32GB and it will not boot, one is required to perform a few OEM
+ operations first. The option is called "STROKE" because it allows
+ one to "soft clip" the drive to work around a barrier limit. For
+ Maxtor drives it is called "jumpon.exe". Please search Maxtor's
+ web-site for "JUMPON.EXE". IBM has a similar tool at:
+ <http://www.storage.ibm.com/hdd/support/download.htm>.
+
+ If you are unsure, say N here.
+
+config BLK_DEV_IDECS
+ tristate "PCMCIA IDE support"
+ depends on BLK_DEV_IDE && PCMCIA
+ help
+ Support for outboard IDE disks, tape drives, and CD-ROM drives
+ connected through a PCMCIA card.
+
+config BLK_DEV_IDECD
+ tristate "Include IDE/ATAPI CDROM support"
+ depends on BLK_DEV_IDE
+ ---help---
+ If you have a CD-ROM drive using the ATAPI protocol, say Y. ATAPI is
+ a newer protocol used by IDE CD-ROM and TAPE drives, similar to the
+ SCSI protocol. Most new CD-ROM drives use ATAPI, including the
+ NEC-260, Mitsumi FX400, Sony 55E, and just about all non-SCSI
+ double(2X) or better speed drives.
+
+ If you say Y here, the CD-ROM drive will be identified at boot time
+ along with other IDE devices, as "hdb" or "hdc", or something
+ similar (check the boot messages with dmesg). If this is your only
+ CD-ROM drive, you can say N to all other CD-ROM options, but be sure
+ to say Y or M to "ISO 9660 CD-ROM file system support".
+
+ Note that older versions of LILO (LInux LOader) cannot properly deal
+ with IDE/ATAPI CD-ROMs, so install LILO 16 or higher, available from
+ <ftp://brun.dyndns.org/pub/linux/lilo/>.
+
+ If you want to compile the driver as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called ide-cd.o.
+
+#dep_tristate ' Include IDE/ATAPI TAPE support' CONFIG_BLK_DEV_IDETAPE $CONFIG_BLK_DEV_IDE
+config BLK_DEV_IDEFLOPPY
+ tristate "Include IDE/ATAPI FLOPPY support"
+ depends on BLK_DEV_IDE
+ ---help---
+ If you have an IDE floppy drive which uses the ATAPI protocol,
+ answer Y. ATAPI is a newer protocol used by IDE CD-ROM/tape/floppy
+ drives, similar to the SCSI protocol.
+
+ The LS-120 and the IDE/ATAPI Iomega ZIP drive are also supported by
+ this driver. For information about jumper settings and the question
+ of when a ZIP drive uses a partition table, see
+ <http://www.win.tue.nl/~aeb/linux/zip/zip-1.html>.
+ (ATAPI PD-CD/CDR drives are not supported by this driver; support
+ for PD-CD/CDR drives is available if you answer Y to
+ "SCSI emulation support", below).
+
+ If you say Y here, the FLOPPY drive will be identified along with
+ other IDE devices, as "hdb" or "hdc", or something similar (check
+ the boot messages with dmesg).
+
+ If you want to compile the driver as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called ide-floppy.o.
+
+config BLK_DEV_IDESCSI
+ tristate "SCSI emulation support"
+ depends on BLK_DEV_IDE && SCSI
+ ---help---
+ This will provide SCSI host adapter emulation for IDE ATAPI devices,
+ and will allow you to use a SCSI device driver instead of a native
+ ATAPI driver.
+
+ This is useful if you have an ATAPI device for which no native
+ driver has been written (for example, an ATAPI PD-CD or CDR drive);
+ you can then use this emulation together with an appropriate SCSI
+ device driver. In order to do this, say Y here and to "SCSI support"
+ and "SCSI generic support", below. You must then provide the kernel
+ command line "hdx=ide-scsi" (try "man bootparam" or see the
+ documentation of your boot loader (lilo or loadlin) about how to
+ pass options to the kernel at boot time) for devices if you want the
+ native EIDE sub-drivers to skip over the native support, so that
+ this SCSI emulation can be used instead. This is required for use of
+ CD-RW's.
+
+ Note that this option does NOT allow you to attach SCSI devices to a
+ box that doesn't have a SCSI host adapter installed.
+
+ If both this SCSI emulation and native ATAPI support are compiled
+ into the kernel, the native support will be used.
+
+config IDE_TASK_IOCTL
+ bool "IDE Taskfile Access"
+ depends on BLK_DEV_IDE
+
+#bool ' IDE Taskfile IO' CONFIG_IDE_TASKFILE_IO
+comment "IDE chipset support/bugfixes"
+ depends on BLK_DEV_IDE
+
+config BLK_DEV_CMD640
+ bool "CMD640 chipset bugfix/support"
+ depends on BLK_DEV_IDE && X86
+ ---help---
+ The CMD-Technologies CMD640 IDE chip is used on many common 486 and
+ Pentium motherboards, usually in combination with a "Neptune" or
+ "SiS" chipset. Unfortunately, it has a number of rather nasty
+ design flaws that can cause severe data corruption under many common
+ conditions. Say Y here to include code which tries to automatically
+ detect and correct the problems under Linux. This option also
+ enables access to the secondary IDE ports in some CMD640 based
+ systems.
+
+ This driver will work automatically in PCI based systems (most new
+ systems have PCI slots). But if your system uses VESA local bus
+ (VLB) instead of PCI, you must also supply a kernel boot parameter
+ to enable the CMD640 bugfix/support: "ide0=cmd640_vlb". (Try "man
+ bootparam" or see the documentation of your boot loader about how to
+ pass options to the kernel.)
+
+ The CMD640 chip is also used on add-in cards by Acculogic, and on
+ the "CSA-6400E PCI to IDE controller" that some people have. For
+ details, read <file:Documentation/ide.txt>.
+
+config BLK_DEV_CMD640_ENHANCED
+ bool "CMD640 enhanced support"
+ depends on BLK_DEV_CMD640
+ help
+ This option includes support for setting/autotuning PIO modes and
+ prefetch on CMD640 IDE interfaces. For details, read
+ <file:Documentation/ide.txt>. If you have a CMD640 IDE interface
+ and your BIOS does not already do this for you, then say Y here.
+ Otherwise say N.
+
+config BLK_DEV_ISAPNP
+ bool "ISA-PNP EIDE support"
+ depends on BLK_DEV_IDE && ISAPNP
+ help
+ If you have an ISA EIDE card that is PnP (Plug and Play) and
+ requires setup first before scanning for devices, say Y here.
+
+ If unsure, say N.
+
+config BLK_DEV_IDEPCI
+ bool "PCI IDE chipset support" if PCI
+ depends on BLK_DEV_IDE
+ default BLK_DEV_IDEDMA_PMAC if ALL_PPC && BLK_DEV_IDEDMA_PMAC
+
+config BLK_DEV_GENERIC
+ bool "Generic PCI IDE Chipset Support"
+ depends on PCI && BLK_DEV_IDEPCI
+
+config IDEPCI_SHARE_IRQ
+ bool "Sharing PCI IDE interrupts support"
+ depends on PCI && BLK_DEV_IDEPCI
+ help
+ Some ATA/IDE chipsets have hardware support which allows for
+ sharing a single IRQ with other cards. To enable support for
+ this in the ATA/IDE driver, say Y here.
+
+ It is safe to say Y to this question, in most cases.
+ If unsure, say N.
+
+config BLK_DEV_IDEDMA_PCI
+ bool "Generic PCI bus-master DMA support"
+ depends on PCI && BLK_DEV_IDEPCI
+ ---help---
+ If your PCI system uses IDE drive(s) (as opposed to SCSI, say) and
+ is capable of bus-master DMA operation (most Pentium PCI systems),
+ you will want to say Y here to reduce CPU overhead. You can then use
+ the "hdparm" utility to enable DMA for drives for which it was not
+ enabled automatically. By default, DMA is not enabled automatically
+ for these drives, but you can change that by saying Y to the
+ following question "Use DMA by default when available". You can get
+ the latest version of the hdparm utility from
+ <ftp://ibiblio.org/pub/Linux/system/hardware/>.
+
+ Read the comments at the beginning of <file:drivers/ide/ide-dma.c>
+ and the file <file:Documentation/ide.txt> for more information.
+
+ It is safe to say Y to this question.
+
+config BLK_DEV_IDE_TCQ
+ bool "ATA tagged command queueing (EXPERIMENTAL)"
+ depends on BLK_DEV_IDEDMA_PCI && EXPERIMENTAL
+ help
+ Support for tagged command queueing on ATA disk drives. This enables
+ the IDE layer to have multiple in-flight requests on hardware that
+ supports it. For now this includes the IBM Deskstar series drives,
+ such as the 22GXP, 75GXP, 40GV, 60GXP, and 120GXP (ie any Deskstar made
+ in the last couple of years), and at least some of the Western
+ Digital drives in the Expert series (by nature of really being IBM
+ drives).
+
+ If you have such a drive, say Y here.
+
+config BLK_DEV_IDE_TCQ_DEFAULT
+ bool "TCQ on by default"
+ depends on BLK_DEV_IDE_TCQ
+ ---help---
+ Enable tagged command queueing unconditionally on drives that report
+ support for it. Regardless of the chosen value here, tagging can be
+ controlled at run time:
+
+ echo "using_tcq:32" > /proc/ide/hdX/settings
+
+ where any value between 1-32 selects chosen queue depth and enables
+ TCQ, and 0 disables it. hdparm version 4.7 an above also support
+ TCQ manipulations.
+
+ Generally say Y here.
+
+config BLK_DEV_IDE_TCQ_DEPTH
+ int "Default queue depth"
+ depends on BLK_DEV_IDE_TCQ
+ default "8"
+ help
+ Maximum size of commands to enable per-drive. Any value between 1
+ and 32 is valid, with 32 being the maxium that the hardware supports.
+
+ You probably just want the default of 32 here. If you enter an invalid
+ number, the default value will be used.
+
+config BLK_DEV_OFFBOARD
+ bool "Boot off-board chipsets first support"
+ depends on PCI && BLK_DEV_IDEPCI
+ ---help---
+ Normally, IDE controllers built into the motherboard (on-board
+ controllers) are assigned to ide0 and ide1 while those on add-in PCI
+ cards (off-board controllers) are relegated to ide2 and ide3.
+ Answering Y here will allow you to reverse the situation, with
+ off-board controllers on ide0/1 and on-board controllers on ide2/3.
+ This can improve the usability of some boot managers such as lilo
+ when booting from a drive on an off-board controller.
+
+ If you say Y here, and you actually want to reverse the device scan
+ order as explained above, you also need to issue the kernel command
+ line option "ide=reverse". (Try "man bootparam" or see the
+ documentation of your boot loader (lilo or loadlin) about how to
+ pass options to the kernel at boot time.)
+
+ Note that, if you do this, the order of the hd* devices will be
+ rearranged which may require modification of fstab and other files.
+
+ If in doubt, say N.
+
+config BLK_DEV_IDEDMA_FORCED
+ bool "Force enable legacy 2.0.X HOSTS to use DMA"
+ depends on BLK_DEV_IDEDMA_PCI
+
+config IDEDMA_PCI_AUTO
+ bool "Use PCI DMA by default when available"
+ depends on BLK_DEV_IDEDMA_PCI
+ ---help---
+ Prior to kernel version 2.1.112, Linux used to automatically use
+ DMA for IDE drives and chipsets which support it. Due to concerns
+ about a couple of cases where buggy hardware may have caused damage,
+ the default is now to NOT use DMA automatically. To revert to the
+ previous behaviour, say Y to this question.
+
+ If you suspect your hardware is at all flakey, say N here.
+ Do NOT email the IDE kernel people regarding this issue!
+
+ It is normally safe to answer Y to this question unless your
+ motherboard uses a VIA VP2 chipset, in which case you should say N.
+
+config IDEDMA_ONLYDISK
+ bool "Enable DMA only for disks "
+ depends on IDEDMA_PCI_AUTO
+ help
+ This is used if you know your ATAPI Devices are going to fail DMA
+ Transfers.
+
+ Generally say N here.
+
+config BLK_DEV_IDEDMA
+ bool
+ depends on BLK_DEV_IDE
+ default BLK_DEV_IDEDMA_ICS if ARM
+ default BLK_DEV_IDEDMA_PMAC if ALL_PPC && BLK_DEV_IDE_PMAC
+ default BLK_DEV_IDEDMA_PCI if PCI && BLK_DEV_IDEPCI
+
+config IDEDMA_PCI_WIP
+ bool "ATA Work(s) In Progress (EXPERIMENTAL)"
+ depends on BLK_DEV_IDEDMA_PCI && EXPERIMENTAL
+
+config IDEDMA_NEW_DRIVE_LISTINGS
+ bool "Good-Bad DMA Model-Firmware (WIP)"
+ depends on IDEDMA_PCI_WIP
+ help
+ If you say Y here, the model and firmware revision of your drive
+ will be compared against a blacklist of buggy drives that claim to
+ be (U)DMA capable but aren't. This is a blanket on/off test with no
+ speed limit options.
+
+ If in doubt, say N.
+
+config BLK_DEV_ADMA
+ bool
+ depends on PCI && BLK_DEV_IDEPCI
+ default BLK_DEV_IDEDMA_PCI
+
+config BLK_DEV_AEC62XX
+ tristate "AEC62XX chipset support"
+ depends on BLK_DEV_IDEDMA_PCI
+ help
+ This driver adds explicit support for Acard AEC62xx (Artop ATP8xx)
+ IDE controllers. This allows the kernel to change PIO, DMA and UDMA
+ speeds and to configure the chip to optimum performance.
+
+config BLK_DEV_ALI15X3
+ tristate "ALI M15x3 chipset support"
+ depends on BLK_DEV_IDEDMA_PCI
+ help
+ This driver ensures (U)DMA support for ALI 1533, 1543 and 1543C
+ onboard chipsets. It also tests for Simplex mode and enables
+ normal dual channel support.
+
+ If you say Y here, you also need to say Y to "Use DMA by default
+ when available", above. Please read the comments at the top of
+ <file:drivers/ide/alim15x3.c>.
+
+ If unsure, say N.
+
+config WDC_ALI15X3
+ bool "ALI M15x3 WDC support (DANGEROUS)"
+ depends on BLK_DEV_ALI15X3
+ ---help---
+ This allows for UltraDMA support for WDC drives that ignore CRC
+ checking. You are a fool for enabling this option, but there have
+ been requests. DO NOT COMPLAIN IF YOUR DRIVE HAS FS CORRUPTION, IF
+ YOU ENABLE THIS! No one will listen, just laugh for ignoring this
+ SERIOUS WARNING.
+
+ Using this option can allow WDC drives to run at ATA-4/5 transfer
+ rates with only an ATA-2 support structure.
+
+ SAY N!
+
+config BLK_DEV_AMD74XX
+ tristate "AMD Viper support"
+ depends on BLK_DEV_IDEDMA_PCI
+ help
+ This driver adds explicit support for AMD-7xx and AMD-8111 chips
+ and also for the nVidia nForce chip. This allows the kernel to
+ change PIO, DMA and UDMA speeds and to configure the chip to
+ optimum performance.
+
+config AMD74XX_OVERRIDE
+ bool "AMD Viper ATA-66 Override"
+ depends on BLK_DEV_AMD74XX
+
+config BLK_DEV_CMD64X
+ tristate "CMD64{3|6|8|9} chipset support"
+ depends on BLK_DEV_IDEDMA_PCI
+ help
+ Say Y here if you have an IDE controller which uses any of these
+ chipsets: CMD643, CMD646, or CMD648.
+
+config BLK_DEV_CY82C693
+ tristate "CY82C693 chipset support"
+ depends on BLK_DEV_IDEDMA_PCI
+ help
+ This driver adds detection and support for the CY82C693 chipset
+ used on Digital's PC-Alpha 164SX boards.
+
+ If you say Y here, you need to say Y to "Use DMA by default
+ when available" as well.
+
+config BLK_DEV_CS5530
+ tristate "Cyrix CS5530 MediaGX chipset support"
+ depends on BLK_DEV_IDEDMA_PCI
+ help
+ Include support for UDMA on the Cyrix MediaGX 5530 chipset. This
+ will automatically be detected and configured if found.
+
+ It is safe to say Y to this question.
+
+ People with SCSI-only systems should say N here. If unsure, say Y.
+
+config BLK_DEV_HPT34X
+ tristate "HPT34X chipset support"
+ depends on BLK_DEV_IDEDMA_PCI
+ help
+ This driver adds up to 4 more EIDE devices sharing a single
+ interrupt. The HPT343 chipset in its current form is a non-bootable
+ controller; the HPT345/HPT363 chipset is a bootable (needs BIOS FIX)
+ PCI UDMA controllers. This driver requires dynamic tuning of the
+ chipset during the ide-probe at boot time. It is reported to support
+ DVD II drives, by the manufacturer.
+
+config HPT34X_AUTODMA
+ bool "HPT34X AUTODMA support (WIP)"
+ depends on BLK_DEV_HPT34X && IDEDMA_PCI_WIP
+ help
+ This is a dangerous thing to attempt currently! Please read the
+ comments at the top of <file:drivers/ide/hpt34x.c>. If you say Y
+ here, then say Y to "Use DMA by default when available" as well.
+
+ If unsure, say N.
+
+config BLK_DEV_HPT366
+ tristate "HPT366/368/370 chipset support"
+ depends on BLK_DEV_IDEDMA_PCI
+ ---help---
+ HPT366 is an Ultra DMA chipset for ATA-66.
+ HPT368 is an Ultra DMA chipset for ATA-66 RAID Based.
+ HPT370 is an Ultra DMA chipset for ATA-100.
+ HPT372 is an Ultra DMA chipset for ATA-100.
+ HPT374 is an Ultra DMA chipset for ATA-100.
+
+ This driver adds up to 4 more EIDE devices sharing a single
+ interrupt.
+
+ The HPT366 chipset in its current form is bootable. One solution
+ for this problem are special LILO commands for redirecting the
+ reference to device 0x80. The other solution is to say Y to "Boot
+ off-board chipsets first support" (CONFIG_BLK_DEV_OFFBOARD) unless
+ your mother board has the chipset natively mounted. Regardless one
+ should use the fore mentioned option and call at LILO or include
+ "ide=reverse" in LILO's append-line.
+
+ This driver requires dynamic tuning of the chipset during the
+ ide-probe at boot. It is reported to support DVD II drives, by the
+ manufacturer.
+
+config BLK_DEV_PIIX
+ tristate "Intel PIIXn chipsets support"
+ depends on BLK_DEV_IDEDMA_PCI
+ help
+ This driver adds explicit support for Intel PIIX and ICH chips
+ and also for the Efar Victory66 (slc90e66) chip. This allows
+ the kernel to change PIO, DMA and UDMA speeds and to configure
+ the chip to optimum performance.
+
+config BLK_DEV_IT8172
+ bool "IT8172 IDE support"
+ depends on (MIPS_ITE8172 || MIPS_IVR) && BLK_DEV_IDEDMA_PCI
+ help
+ Say Y here to support the on-board IDE controller on the Integrated
+ Technology Express, Inc. ITE8172 SBC. Vendor page at
+ <http://www.ite.com.tw/ia/brief_it8172bsp.htm>; picture of the
+ board at <http://www.mvista.com/allies/semiconductor/ite.html>.
+
+config BLK_DEV_NFORCE
+ tristate "nVidia NFORCE support"
+ depends on BLK_DEV_IDEDMA_PCI
+
+config BLK_DEV_NS87415
+ tristate "NS87415 chipset support"
+ depends on BLK_DEV_IDEDMA_PCI
+ help
+ This driver adds detection and support for the NS87415 chip
+ (used in SPARC64, among others).
+
+ Please read the comments at the top of <file:drivers/ide/ns87415.c>.
+
+config BLK_DEV_OPTI621
+ tristate "OPTi 82C621 chipset enhanced support (EXPERIMENTAL)"
+ depends on PCI && BLK_DEV_IDEPCI && EXPERIMENTAL
+ help
+ This is a driver for the OPTi 82C621 EIDE controller.
+ Please read the comments at the top of <file:drivers/ide/opti621.c>.
+
+config BLK_DEV_PDC202XX_OLD
+ tristate "PROMISE PDC202{46|62|65|67} support"
+ depends on BLK_DEV_IDEDMA_PCI
+
+config PDC202XX_BURST
+ bool "Special UDMA Feature"
+ depends on BLK_DEV_PDC202XX_OLD=y && CONFI_BLK_DEV_IDEDMA_PCI
+ ---help---
+ This option causes the pdc202xx driver to enable UDMA modes on the
+ PDC202xx even when the PDC202xx BIOS has not done so.
+
+ It was originally designed for the PDC20246/Ultra33, whose BIOS will
+ only setup UDMA on the first two PDC20246 cards. It has also been
+ used succesfully on a PDC20265/Ultra100, allowing use of UDMA modes
+ when the PDC20265 BIOS has been disabled (for faster boot up).
+
+ Please read the comments at the top of
+ <file:drivers/ide/pdc202xx.c>.
+
+ If unsure, say N.
+
+config BLK_DEV_PDC202XX_NEW
+ tristate "PROMISE PDC202{68|69|70|71|75|76|77} support"
+ depends on BLK_DEV_IDEDMA_PCI
+
+# FIXME - probably wants to be one for old and for new
+config PDC202XX_FORCE
+ bool "Special FastTrak Feature"
+ depends on BLK_DEV_PDC202XX_NEW=y
+ help
+ For FastTrak enable overriding BIOS.
+
+config BLK_DEV_RZ1000
+ tristate "RZ1000 chipset bugfix/support"
+ depends on PCI && BLK_DEV_IDEPCI && X86
+ help
+ The PC-Technologies RZ1000 IDE chip is used on many common 486 and
+ Pentium motherboards, usually along with the "Neptune" chipset.
+ Unfortunately, it has a rather nasty design flaw that can cause
+ severe data corruption under many conditions. Say Y here to include
+ code which automatically detects and corrects the problem under
+ Linux. This may slow disk throughput by a few percent, but at least
+ things will operate 100% reliably.
+
+config BLK_DEV_SVWKS
+ tristate "ServerWorks OSB4/CSB5/CSB6 chipsets support"
+ depends on BLK_DEV_IDEDMA_PCI
+ help
+ This driver adds PIO/(U)DMA support for the ServerWorks OSB4/CSB5
+ chipsets.
+
+config BLK_DEV_SIIMAGE
+ tristate "Silicon Image chipset support"
+ depends on BLK_DEV_IDEDMA_PCI
+
+config BLK_DEV_SIS5513
+ tristate "SiS5513 chipset support"
+ depends on BLK_DEV_IDEDMA_PCI && X86
+ ---help---
+ This driver ensures (U)DMA support for SIS5513 chipset family based
+ mainboards.
+
+ The following chipsets are supported:
+ ATA16: SiS5511, SiS5513
+ ATA33: SiS5591, SiS5597, SiS5598, SiS5600
+ ATA66: SiS530, SiS540, SiS620, SiS630, SiS640
+ ATA100: SiS635, SiS645, SiS650, SiS730, SiS735, SiS740,
+ SiS745, SiS750
+
+ If you say Y here, you need to say Y to "Use DMA by default when
+ available" as well.
+
+ Please read the comments at the top of <file:drivers/ide/sis5513.c>.
+
+config BLK_DEV_SLC90E66
+ tristate "SLC90E66 chipset support"
+ depends on BLK_DEV_IDEDMA_PCI
+
+config BLK_DEV_TRM290
+ tristate "Tekram TRM290 chipset support"
+ depends on BLK_DEV_IDEDMA_PCI
+ help
+ This driver adds support for bus master DMA transfers
+ using the Tekram TRM290 PCI IDE chip. Volunteers are
+ needed for further tweaking and development.
+ Please read the comments at the top of <file:drivers/ide/trm290.c>.
+
+config BLK_DEV_VIA82CXXX
+ tristate "VIA82CXXX chipset support"
+ depends on BLK_DEV_IDEDMA_PCI
+ help
+ This driver adds explicit support for VIA BusMastering IDE chips.
+ This allows the kernel to change PIO, DMA and UDMA speeds and to
+ configure the chip to optimum performance.
+
+config BLK_DEV_SL82C105
+ tristate "Winbond SL82c105 support"
+ depends on PCI && (PPC || ARM) && BLK_DEV_IDEPCI
+ help
+ If you have a Winbond SL82c105 IDE controller, say Y here to enable
+ special configuration for this chip. This is common on various CHRP
+ motherboards, but could be used elsewhere. If in doubt, say Y.
+
+config BLK_DEV_IDE_PMAC
+ bool "Builtin PowerMac IDE support"
+ depends on BLK_DEV_IDE && ALL_PPC
+ help
+ This driver provides support for the built-in IDE controller on
+ most of the recent Apple Power Macintoshes and PowerBooks.
+ If unsure, say Y.
+
+config BLK_DEV_IDEDMA_PMAC
+ bool "PowerMac IDE DMA support"
+ depends on BLK_DEV_IDE_PMAC
+ help
+ This option allows the driver for the built-in IDE controller on
+ Power Macintoshes and PowerBooks to use DMA (direct memory access)
+ to transfer data to and from memory. Saying Y is safe and improves
+ performance.
+
+config BLK_DEV_IDEDMA_PMAC_AUTO
+ bool "Use DMA by default"
+ depends on BLK_DEV_IDEDMA_PMAC
+ help
+ This option allows the driver for the built-in IDE controller on
+ Power Macintoshes and PowerBooks to use DMA automatically, without
+ it having to be explicitly enabled. This option is provided because
+ of concerns about a couple of cases where using DMA on buggy PC
+ hardware may have caused damage. Saying Y should be safe on all
+ Apple machines.
+
+config BLK_DEV_IDE_SWARM
+ bool "SWARM onboard IDE support"
+ depends on BLK_DEV_IDE && SIBYTE_SWARM
+
+config BLK_DEV_IDE_ICSIDE
+ tristate "ICS IDE interface support"
+ depends on BLK_DEV_IDE!=n && ARM && ARCH_ACORN
+ help
+ On Acorn systems, say Y here if you wish to use the ICS IDE
+ interface card. This is not required for ICS partition support.
+ If you are unsure, say N to this.
+
+config BLK_DEV_IDEDMA_ICS
+ bool "ICS DMA support"
+ depends on BLK_DEV_IDE_ICSIDE
+ help
+ Say Y here if you want to add DMA (Direct Memory Access) support to
+ the ICS IDE driver.
+
+config IDEDMA_ICS_AUTO
+ bool "Use ICS DMA by default"
+ depends on BLK_DEV_IDEDMA_ICS
+ help
+ Prior to kernel version 2.1.112, Linux used to automatically use
+ DMA for IDE drives and chipsets which support it. Due to concerns
+ about a couple of cases where buggy hardware may have caused damage,
+ the default is now to NOT use DMA automatically. To revert to the
+ previous behaviour, say Y to this question.
+
+ If you suspect your hardware is at all flakey, say N here.
+ Do NOT email the IDE kernel people regarding this issue!
+
+config BLK_DEV_IDE_RAPIDE
+ tristate "RapIDE interface support"
+ depends on BLK_DEV_IDE!=n && ARM && ARCH_ACORN
+ help
+ Say Y here if you want to support the Yellowstone RapIDE controller
+ manufactured for use with Acorn computers.
+
+config BLK_DEV_GAYLE
+ bool "Amiga Gayle IDE interface support"
+ depends on BLK_DEV_IDE && AMIGA
+ help
+ This is the IDE driver for the builtin IDE interface on some Amiga
+ models. It supports both the `A1200 style' (used in A600 and A1200)
+ and `A4000 style' (used in A4000 and A4000T) of the Gayle IDE
+ interface. Say Y if you have such an Amiga model and want to use IDE
+ devices (hard disks, CD-ROM drives, etc.) that are connected to the
+ builtin IDE interface.
+
+config BLK_DEV_IDEDOUBLER
+ bool "Amiga IDE Doubler support (EXPERIMENTAL)"
+ depends on BLK_DEV_GAYLE && EXPERIMENTAL
+ ---help---
+ This driver provides support for the so-called `IDE doublers' (made
+ by various manufacturers, e.g. Eyetech) that can be connected to the
+ builtin IDE interface of some Amiga models. Using such an IDE
+ doubler, you can connect up to four instead of two IDE devices on
+ the Amiga's builtin IDE interface.
+
+ Note that the normal Amiga Gayle IDE driver may not work correctly
+ if you have an IDE doubler and don't enable this driver!
+
+ Say Y if you have an IDE doubler. The driver is enabled at kernel
+ runtime using the "ide=doubler" kernel boot parameter.
+
+config BLK_DEV_BUDDHA
+ bool "Buddha/Catweasel/X-Surf IDE interface support (EXPERIMENTAL)"
+ depends on BLK_DEV_IDE && ZORRO && EXPERIMENTAL
+ help
+ This is the IDE driver for the IDE interfaces on the Buddha,
+ Catweasel and X-Surf expansion boards. It supports up to two interfaces
+ on the Buddha, three on the Catweasel and two on the X-Surf.
+
+ Say Y if you have a Buddha or Catweasel expansion board and want to
+ use IDE devices (hard disks, CD-ROM drives, etc.) that are connected
+ to one of its IDE interfaces.
+
+config BLK_DEV_FALCON_IDE
+ bool "Falcon IDE interface support"
+ depends on BLK_DEV_IDE && ATARI
+ help
+ This is the IDE driver for the builtin IDE interface on the Atari
+ Falcon. Say Y if you have a Falcon and want to use IDE devices (hard
+ disks, CD-ROM drives, etc.) that are connected to the builtin IDE
+ interface.
+
+config BLK_DEV_MAC_IDE
+ bool "Macintosh Quadra/Powerbook IDE interface support"
+ depends on BLK_DEV_IDE && MAC
+ help
+ This is the IDE driver for the builtin IDE interface on some m68k
+ Macintosh models. It supports both the `Quadra style' (used in
+ Quadra/ Centris 630 and Performa 588 models) and `Powerbook style'
+ (used in the Powerbook 150 and 190 models) IDE interface.
+
+ Say Y if you have such an Macintosh model and want to use IDE
+ devices (hard disks, CD-ROM drives, etc.) that are connected to the
+ builtin IDE interface.
+
+config BLK_DEV_Q40IDE
+ bool "Q40/Q60 IDE interface support"
+ depends on BLK_DEV_IDE && Q40
+ help
+ Enable the on-board IDE controller in the Q40/Q60. This should
+ normally be on; disable it only if you are running a custom hard
+ drive subsystem through an expansion card.
+
+config BLK_DEV_MPC8xx_IDE
+ bool "MPC8xx IDE support"
+ depends on BLK_DEV_IDE && 8xx
+ help
+ This option provides support for IDE on Motorola MPC8xx Systems.
+ Please see 'Type of MPC8xx IDE interface' for details.
+
+ If unsure, say N.
+
+choice
+ prompt "Type of MPC8xx IDE interface"
+ depends on BLK_DEV_MPC8xx_IDE
+ default IDE_8xx_PCCARD
+
+config IDE_8xx_PCCARD
+ bool "8xx_PCCARD"
+ ---help---
+ Select how the IDE devices are connected to the MPC8xx system:
+
+ 8xx_PCCARD uses the 8xx internal PCMCIA interface in combination
+ with a PC Card (e.g. ARGOSY portable Hard Disk Adapter),
+ ATA PC Card HDDs or ATA PC Flash Cards (example: TQM8xxL
+ systems)
+
+ 8xx_DIRECT is used for directly connected IDE devices using the 8xx
+ internal PCMCIA interface (example: IVMS8 systems)
+
+ EXT_DIRECT is used for IDE devices directly connected to the 8xx
+ bus using some glue logic, but _not_ the 8xx internal
+ PCMCIA interface (example: IDIF860 systems)
+
+config IDE_8xx_DIRECT
+ bool "8xx_DIRECT"
+
+config IDE_EXT_DIRECT
+ bool "EXT_DIRECT"
+
+endchoice
+
+# no isa -> no vlb
+config IDE_CHIPSETS
+ bool "Other IDE chipset support"
+ depends on BLK_DEV_IDE && ISA
+ ---help---
+ Say Y here if you want to include enhanced support for various IDE
+ interface chipsets used on motherboards and add-on cards. You can
+ then pick your particular IDE chip from among the following options.
+ This enhanced support may be necessary for Linux to be able to
+ access the 3rd/4th drives in some systems. It may also enable
+ setting of higher speed I/O rates to improve system performance with
+ these chipsets. Most of these also require special kernel boot
+ parameters to actually turn on the support at runtime; you can find
+ a list of these in the file <file:Documentation/ide.txt>.
+
+ People with SCSI-only systems can say N here.
+
+comment "Note: most of these also require special kernel boot parameters"
+ depends on BLK_DEV_IDE && IDE_CHIPSETS
+
+config BLK_DEV_4DRIVES
+ bool "Generic 4 drives/port support"
+ depends on IDE_CHIPSETS
+
+config BLK_DEV_ALI14XX
+ tristate "ALI M14xx support"
+ depends on IDE_CHIPSETS && BLK_DEV_IDE
+ help
+ This driver is enabled at runtime using the "ide0=ali14xx" kernel
+ boot parameter. It enables support for the secondary IDE interface
+ of the ALI M1439/1443/1445/1487/1489 chipsets, and permits faster
+ I/O speeds to be set as well. See the files
+ <file:Documentation/ide.txt> and <file:drivers/ide/ali14xx.c> for
+ more info.
+
+config BLK_DEV_DTC2278
+ tristate "DTC-2278 support"
+ depends on IDE_CHIPSETS && BLK_DEV_IDE
+ help
+ This driver is enabled at runtime using the "ide0=dtc2278" kernel
+ boot parameter. It enables support for the secondary IDE interface
+ of the DTC-2278 card, and permits faster I/O speeds to be set as
+ well. See the <file:Documentation/ide.txt> and
+ <file:drivers/ide/dtc2278.c> files for more info.
+
+config BLK_DEV_HT6560B
+ tristate "Holtek HT6560B support"
+ depends on IDE_CHIPSETS && BLK_DEV_IDE
+ help
+ This driver is enabled at runtime using the "ide0=ht6560b" kernel
+ boot parameter. It enables support for the secondary IDE interface
+ of the Holtek card, and permits faster I/O speeds to be set as well.
+ See the <file:Documentation/ide.txt> and
+ <file:drivers/ide/ht6560b.c> files for more info.
+
+config BLK_DEV_PDC4030
+ tristate "PROMISE DC4030 support (EXPERIMENTAL)"
+ depends on IDE_CHIPSETS && BLK_DEV_IDEDISK && EXPERIMENTAL
+ help
+ This driver provides support for the secondary IDE interface and
+ cache of the original Promise IDE chipsets, e.g. DC4030 and DC5030.
+ It is nothing to do with the later range of Promise UDMA chipsets -
+ see the PDC_202XX support for these. CD-ROM and TAPE devices are not
+ supported (and probably never will be since I don't think the cards
+ support them). This driver is enabled at runtime using the "ide0=dc4030"
+ or "ide1=dc4030" kernel boot parameter. See the
+ <file:drivers/ide/pdc4030.c> file for more info.
+
+config BLK_DEV_QD65XX
+ tristate "QDI QD65xx support"
+ depends on IDE_CHIPSETS && BLK_DEV_IDE
+ help
+ This driver is enabled at runtime using the "ide0=qd65xx" kernel
+ boot parameter. It permits faster I/O speeds to be set. See the
+ <file:Documentation/ide.txt> and <file:drivers/ide/qd65xx.c> for
+ more info.
+
+config BLK_DEV_UMC8672
+ tristate "UMC-8672 support"
+ depends on IDE_CHIPSETS && BLK_DEV_IDE
+ help
+ This driver is enabled at runtime using the "ide0=umc8672" kernel
+ boot parameter. It enables support for the secondary IDE interface
+ of the UMC-8672, and permits faster I/O speeds to be set as well.
+ See the files <file:Documentation/ide.txt> and
+ <file:drivers/ide/umc8672.c> for more info.
+
+config BLK_DEV_HD_ONLY
+ bool "Old hard disk (MFM/RLL/IDE) driver"
+ depends on BLK_DEV_IDE=n
+ ---help---
+ There are two drivers for MFM/RLL/IDE hard disks. Most people use
+ the newer enhanced driver, but this old one is still around for two
+ reasons. Some older systems have strange timing problems and seem to
+ work only with the old driver (which itself does not work with some
+ newer systems). The other reason is that the old driver is smaller,
+ since it lacks the enhanced functionality of the new one. This makes
+ it a good choice for systems with very tight memory restrictions, or
+ for systems with only older MFM/RLL/ESDI drives. Choosing the old
+ driver can save 13 KB or so of kernel memory.
+
+ If you are unsure, then just choose the Enhanced IDE/MFM/RLL driver
+ instead of this one. For more detailed information, read the
+ Disk-HOWTO, available from
+ <http://www.linuxdoc.org/docs.html#howto>.
+
+config IDEDMA_AUTO
+ bool
+ depends on IDEDMA_PCI_AUTO || BLK_DEV_IDEDMA_PMAC_AUTO || IDEDMA_ICS_AUTO
+ default y
+
+config IDEDMA_IVB
+ bool "IGNORE word93 Validation BITS"
+ depends on BLK_DEV_IDEDMA_PCI || BLK_DEV_IDEDMA_PMAC || BLK_DEV_IDEDMA_ICS
+ ---help---
+ There are unclear terms in ATA-4 and ATA-5 standards how certain
+ hardware (an 80c ribbon) should be detected. Different interpretations
+ of the standards have been released in hardware. This causes problems:
+ for example, a host with Ultra Mode 4 (or higher) will not run
+ in that mode with an 80c ribbon.
+
+ If you are experiencing compatibility or performance problems, you
+ MAY try to answering Y here. However, it does not necessarily solve
+ any of your problems, it could even cause more of them.
+
+ It is normally safe to answer Y; however, the default is N.
+
+config DMA_NONPCI
+ bool
+ depends on BLK_DEV_TIVO
+ default y
+
+config BLK_DEV_PDC202XX
+ bool
+ depends on BLK_DEV_IDEDMA_PCI && (BLK_DEV_PDC202XX_OLD || BLK_DEV_PDC202XX_NEW)
+ default y
+ ---help---
+ Promise Ultra33 or PDC20246
+ Promise Ultra66 or PDC20262
+ Promise Ultra100 or PDC20265/PDC20267/PDC20268
+
+ This driver adds up to 4 more EIDE devices sharing a single
+ interrupt. This add-on card is a bootable PCI UDMA controller. Since
+ multiple cards can be installed and there are BIOS ROM problems that
+ happen if the BIOS revisions of all installed cards (three-max) do
+ not match, the driver attempts to do dynamic tuning of the chipset
+ at boot-time for max-speed. Ultra33 BIOS 1.25 or newer is required
+ for more than one card. This card may require that you say Y to
+ "Special UDMA Feature".
+
+ If you say Y here, you need to say Y to "Use DMA by default when
+ available" as well.
+
+ Please read the comments at the top of
+ <file:drivers/ide/pdc202xx.c>.
+
+ If unsure, say N.
+
+##if [ "$CONFIG_IDE_TASKFILE_IO" = "y" ]; then
+## dep_mbool CONFIG_BLK_DEV_TF_DISK $CONFIG_BLK_DEV_IDEDISK
+##else
+## dep_mbool CONFIG_BLK_DEV_NTF_DISK $CONFIG_BLK_DEV_IDEDISK
+##fi
+config BLK_DEV_IDE_MODES
+ bool
+ depends on BLK_DEV_4DRIVES || BLK_DEV_ALI14XX || BLK_DEV_DTC2278 || BLK_DEV_HT6560B || BLK_DEV_PDC4030 || BLK_DEV_QD65XX || BLK_DEV_UMC8672 || BLK_DEV_AEC62XX=y || BLK_DEV_ALI15X3=y || BLK_DEV_AMD74XX=y || BLK_DEV_CMD640 || BLK_DEV_CMD64X=y || BLK_DEV_CS5530=y || BLK_DEV_CY82C693=y || BLK_DEV_HPT34X=y || BLK_DEV_HPT366=y || BLK_DEV_IDE_PMAC || BLK_DEV_IT8172 || BLK_DEV_MPC8xx_IDE || BLK_DEV_NFORCE=y || BLK_DEV_OPTI621=y || BLK_DEV_PDC202XX || BLK_DEV_PIIX=y || BLK_DEV_SVWKS=y || BLK_DEV_SIIMAGE=y || BLK_DEV_SIS5513=y || BLK_DEV_SL82C105=y || BLK_DEV_SLC90E66=y || BLK_DEV_VIA82CXXX=y
+ default y
+
+endmenu
+
diff --git a/drivers/ieee1394/Kconfig b/drivers/ieee1394/Kconfig
new file mode 100644
index 000000000000..16849c8bf916
--- /dev/null
+++ b/drivers/ieee1394/Kconfig
@@ -0,0 +1,161 @@
+# -*- shell-script -*-
+
+menu "IEEE 1394 (FireWire) support (EXPERIMENTAL)"
+ depends on PCI && EXPERIMENTAL
+
+config IEEE1394
+ tristate "IEEE 1394 (FireWire) support (EXPERIMENTAL)"
+ ---help---
+ IEEE 1394 describes a high performance serial bus, which is also
+ known as FireWire(tm) or i.Link(tm) and is used for connecting all
+ sorts of devices (most notably digital video cameras) to your
+ computer.
+
+ If you have FireWire hardware and want to use it, say Y here. This
+ is the core support only, you will also need to select a driver for
+ your IEEE 1394 adapter.
+
+ If you want to compile this as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called ieee1394.o.
+
+comment "Device Drivers"
+ depends on IEEE1394
+
+comment "Texas Instruments PCILynx requires I2C bit-banging"
+ depends on IEEE1394 && (I2C=n || I2C_ALGOBIT=n)
+
+config IEEE1394_PCILYNX
+ tristate "Texas Instruments PCILynx support"
+ depends on IEEE1394 && I2C_ALGOBIT
+ help
+ Say Y here if you have an IEEE-1394 controller with the Texas
+ Instruments PCILynx chip. Note: this driver is written for revision
+ 2 of this chip and may not work with revision 0.
+
+ If you want to compile this as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called pcilynx.o.
+
+# Non-maintained pcilynx options
+# if [ "$CONFIG_IEEE1394_PCILYNX" != "n" ]; then
+# bool ' Use PCILynx local RAM' CONFIG_IEEE1394_PCILYNX_LOCALRAM
+# bool ' Support for non-IEEE1394 local ports' CONFIG_IEEE1394_PCILYNX_PORTS
+# fi
+config IEEE1394_OHCI1394
+ tristate "OHCI-1394 support"
+ depends on IEEE1394
+ ---help---
+ Enable this driver if you have an IEEE 1394 controller based on the
+ OHCI-1394 specification. The current driver is only tested with OHCI
+ chipsets made by Texas Instruments and NEC. Most third-party vendors
+ use one of these chipsets. It should work with any OHCI-1394
+ compliant card, however.
+
+ If you want to compile this as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called ohci1394.o.
+
+comment "Protocol Drivers"
+ depends on IEEE1394
+
+config IEEE1394_VIDEO1394
+ tristate "OHCI-1394 Video support"
+ depends on IEEE1394_OHCI1394
+ help
+ This option enables video device usage for OHCI-1394 cards. Enable
+ this option only if you have an IEEE 1394 video device connected to
+ an OHCI-1394 card.
+
+config IEEE1394_SBP2
+ tristate "SBP-2 support (Harddisks etc.)"
+ depends on SCSI && IEEE1394
+ help
+ This option enables you to use SBP-2 devices connected to your IEEE
+ 1394 bus. SBP-2 devices include harddrives and DVD devices.
+
+config IEEE1394_SBP2_PHYS_DMA
+ bool "Enable Phys DMA support for SBP2 (Debug)"
+ depends on IEEE1394_SBP2
+
+config IEEE1394_ETH1394
+ tristate "Ethernet over 1394"
+ depends on IEEE1394
+ help
+ Extremely Experimental! This driver is a Linux specific way to use your
+ IEEE1394 Host as an Ethernet type device. This is _NOT_ IP1394.
+
+config IEEE1394_DV1394
+ tristate "OHCI-DV I/O support"
+ depends on IEEE1394_OHCI1394
+ ---help---
+ This driver allows you to transmit and receive DV (digital video)
+ streams on an OHCI-1394 card using a simple frame-oriented
+ interface.
+
+ The user-space API for dv1394 is documented in dv1394.h.
+
+ If you want to compile this as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called dv1394.o.
+
+config IEEE1394_RAWIO
+ tristate "Raw IEEE1394 I/O support"
+ depends on IEEE1394
+ help
+ Say Y here if you want support for the raw device. This is generally
+ a good idea, so you should say Y here. The raw device enables
+ direct communication of user programs with the IEEE 1394 bus and
+ thus with the attached peripherals.
+
+ If you want to compile this as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called raw1394.o.
+
+config IEEE1394_CMP
+ tristate "IEC61883-1 Plug support"
+ depends on IEEE1394
+ help
+ This option enables the Connection Management Procedures
+ (IEC61883-1) driver, which implements input and output plugs.
+
+ If you want to compile this as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called amdtp.o.
+
+config IEEE1394_AMDTP
+ tristate "IEC61883-6 (Audio transmission) support"
+ depends on IEEE1394_OHCI1394 && IEEE1394_CMP
+ ---help---
+ This option enables the Audio & Music Data Transmission Protocol
+ (IEC61883-6) driver, which implements audio transmission over
+ IEEE1394.
+
+ The userspace interface is documented in amdtp.h.
+
+ If you want to compile this as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called amdtp.o.
+
+config IEEE1394_VERBOSEDEBUG
+ bool "Excessive debugging output"
+ depends on IEEE1394
+ help
+ If you say Y here, you will get very verbose debugging logs from the
+ subsystem which includes a dump of the header of every sent and
+ received packet. This can amount to a high amount of data collected
+ in a very short time which is usually also saved to disk by the
+ system logging daemons.
+
+ Say Y if you really want or need the debugging output, everyone else
+ says N.
+
+endmenu
+
diff --git a/drivers/input/Kconfig b/drivers/input/Kconfig
new file mode 100644
index 000000000000..93701990b4f0
--- /dev/null
+++ b/drivers/input/Kconfig
@@ -0,0 +1,159 @@
+#
+# Input device configuration
+#
+
+menu "Input device support"
+
+config INPUT
+ tristate
+ default y
+ ---help---
+ Say Y here if you have any input device (mouse, keyboard, tablet,
+ joystick, steering wheel ...) connected to your system and want
+ it to be available to applications. This includes standard PS/2
+ keyboard and mouse.
+
+ Say N here if you have a headless (no monitor, no keyboard) system.
+
+ More information is available: <file:Documentation/input/input.txt>
+
+ If unsure, say Y.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called input.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+comment "Userland interfaces"
+
+config INPUT_MOUSEDEV
+ tristate "Mouse interface"
+ depends on INPUT
+ ---help---
+ Say Y here if you want your mouse to be accessible as char devices
+ 13:32+ - /dev/input/mouseX and 13:63 - /dev/input/mice as an
+ emulated IntelliMouse Explorer PS/2 mouse. That way, all user space
+ programs (includung SVGAlib, GPM and X) will be able to use your
+ mouse.
+
+ If unsure, say Y.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called mousedev.o. If you want to compile it as
+ a module, say M here and read <file:Documentation/modules.txt>.
+
+config INPUT_MOUSEDEV_PSAUX
+ bool "Provide legacy /dev/psaux device"
+ depends on INPUT_MOUSEDEV
+
+config INPUT_MOUSEDEV_SCREEN_X
+ int "Horizontal screen resolution"
+ depends on INPUT_MOUSEDEV
+ default "1024"
+ help
+ If you're using a digitizer, or a graphic tablet, and want to use
+ it as a mouse then the mousedev driver needs to know the X window
+ screen resolution you are using to correctly scale the data. If
+ you're not using a digitizer, this value is ignored.
+
+config INPUT_MOUSEDEV_SCREEN_Y
+ int "Vertical screen resolution"
+ depends on INPUT_MOUSEDEV
+ default "768"
+ help
+ If you're using a digitizer, or a graphic tablet, and want to use
+ it as a mouse then the mousedev driver needs to know the X window
+ screen resolution you are using to correctly scale the data. If
+ you're not using a digitizer, this value is ignored.
+
+config INPUT_JOYDEV
+ tristate "Joystick interface"
+ depends on INPUT
+ ---help---
+ Say Y here if you want your joystick or gamepad to be
+ accessible as char device 13:0+ - /dev/input/jsX device.
+
+ If unsure, say Y.
+
+ More information is available: <file:Documentation/input/joystick.txt>
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called joydev.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config INPUT_TSDEV
+ tristate "Touchscreen interface"
+ depends on INPUT
+ ---help---
+ Say Y here if you have an application that only can understand the
+ Compaq touchscreen protocol for absolute pointer data. This is
+ useful namely for embedded configurations.
+
+ If unsure, say N.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called tsdev.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config INPUT_TSDEV_SCREEN_X
+ int "Horizontal screen resolution"
+ depends on INPUT_TSDEV
+ default "240"
+
+config INPUT_TSDEV_SCREEN_Y
+ int "Vertical screen resolution"
+ depends on INPUT_TSDEV
+ default "320"
+
+config INPUT_EVDEV
+ tristate "Event interface"
+ depends on INPUT
+ help
+ Say Y here if you want your input device events be accessible
+ under char device 13:64+ - /dev/input/eventX in a generic way.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called evdev.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config INPUT_EVBUG
+ tristate "Event debugging"
+ depends on INPUT
+ ---help---
+ Say Y here if you have a problem with the input subsystem and
+ want all events (keypresses, mouse movements), to be output to
+ the system log. While this is useful for debugging, it's also
+ a security threat - your keypresses include your passwords, of
+ course.
+
+ If unsure, say N.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called joydev.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+comment "Input I/O drivers"
+
+source "drivers/input/gameport/Kconfig"
+
+source "drivers/input/serio/Kconfig"
+
+comment "Input Device Drivers"
+
+source "drivers/input/keyboard/Kconfig"
+
+source "drivers/input/mouse/Kconfig"
+
+source "drivers/input/joystick/Kconfig"
+
+source "drivers/input/touchscreen/Kconfig"
+
+source "drivers/input/misc/Kconfig"
+
+endmenu
+
diff --git a/drivers/input/gameport/Kconfig b/drivers/input/gameport/Kconfig
new file mode 100644
index 000000000000..15398e3d219a
--- /dev/null
+++ b/drivers/input/gameport/Kconfig
@@ -0,0 +1,84 @@
+#
+# Gameport configuration
+#
+config GAMEPORT
+ tristate "Gameport support"
+ ---help---
+ Gameport support is for the standard 15-pin PC gameport. If you
+ have a joystick, gamepad, gameport card, a soundcard with a gameport
+ or anything else that uses the gameport, say Y or M here and also to
+ at least one of the hardware specific drivers.
+
+ For Ensoniq AudioPCI (ES1370), AudioPCI 97 (ES1371), ESS Solo1,
+ S3 SonicVibes, Trident 4DWave, SiS7018, and ALi 5451 gameport
+ support is provided by the sound drivers, so you won't need any
+ from the below listed modules. You still need to say Y here.
+
+ If unsure, say Y.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called gameport.o. If you want to compile it as
+ a module, say M here and read <file:Documentation/modules.txt>.
+
+config SOUND_GAMEPORT
+ tristate
+ default y if GAMEPORT!=m
+ default m if GAMEPORT=m
+
+config GAMEPORT_NS558
+ tristate "Classic ISA and PnP gameport support"
+ depends on GAMEPORT
+ help
+ Say Y here if you have an ISA or PnP gameport.
+
+ If unsure, say Y.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called ns558.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config GAMEPORT_L4
+ tristate "PDPI Lightning 4 gamecard support"
+ depends on GAMEPORT
+ help
+ Say Y here if you have a PDPI Lightning 4 gamecard.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called lightning.o. If you want to compile it as
+ a module, say M here and read <file:Documentation/modules.txt>.
+
+config GAMEPORT_EMU10K1
+ tristate "SB Live and Audigy gameport support"
+ depends on GAMEPORT
+ help
+ Say Y here if you have a SoundBlaster Live! or SoundBlaster
+ Audigy card and want to use its gameport.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called emu10k1-gp.o. If you want to compile it as
+ a module, say M here and read <file:Documentation/modules.txt>.
+
+config GAMEPORT_VORTEX
+ tristate "Aureal Vortex, Vortex 2 gameport support"
+ depends on GAMEPORT
+ help
+ Say Y here if you have an Aureal Vortex 1 or 2 card and want
+ to use its gameport.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called vortex.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config GAMEPORT_FM801
+ tristate "ForteMedia FM801 gameport support"
+ depends on GAMEPORT
+
+config GAMEPORT_CS461x
+ tristate "Crystal SoundFusion gameport support"
+ depends on GAMEPORT
+
diff --git a/drivers/input/joystick/Kconfig b/drivers/input/joystick/Kconfig
new file mode 100644
index 000000000000..29beebccdd18
--- /dev/null
+++ b/drivers/input/joystick/Kconfig
@@ -0,0 +1,298 @@
+#
+# Joystick driver configuration
+#
+config INPUT_JOYSTICK
+ bool "Joysticks"
+ depends on INPUT
+ help
+ If you have a joystick, 6dof controller, gamepad, steering wheel,
+ weapon control system or something like that you can say Y here
+ and the list of supported devices will be displayed. This option
+ doesn't affect the kernel.
+
+ Please read the file <file:Documentation/input/joystick.txt> which
+ contains more information.
+
+config JOYSTICK_ANALOG
+ tristate "Classic PC analog joysticks and gamepads"
+ depends on INPUT && INPUT_JOYSTICK && GAMEPORT
+ ---help---
+ Say Y here if you have a joystick that connects to the PC
+ gameport. In addition to the usual PC analog joystick, this driver
+ supports many extensions, including joysticks with throttle control,
+ with rudders, additional hats and buttons compatible with CH
+ Flightstick Pro, ThrustMaster FCS, 6 and 8 button gamepads, or
+ Saitek Cyborg joysticks.
+
+ Please read the file <file:Documentation/input/joystick.txt> which
+ contains more information.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called analog.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config JOYSTICK_A3D
+ tristate "Assasin 3D and MadCatz Panther devices"
+ depends on INPUT && INPUT_JOYSTICK && GAMEPORT
+ help
+ Say Y here if you have an FPGaming or MadCatz controller using the
+ A3D protocol over the PC gameport.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called a3d.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config JOYSTICK_ADI
+ tristate "Logitech ADI digital joysticks and gamepads"
+ depends on INPUT && INPUT_JOYSTICK && GAMEPORT
+ help
+ Say Y here if you have a Logitech controller using the ADI
+ protocol over the PC gameport.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called adi.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config JOYSTICK_COBRA
+ tristate "Creative Labs Blaster Cobra gamepad"
+ depends on INPUT && INPUT_JOYSTICK && GAMEPORT
+ help
+ Say Y here if you have a Creative Labs Blaster Cobra gamepad.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called cobra.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config JOYSTICK_GF2K
+ tristate "Genius Flight2000 Digital joysticks and gamepads"
+ depends on INPUT && INPUT_JOYSTICK && GAMEPORT
+ help
+ Say Y here if you have a Genius Flight2000 or MaxFighter digitally
+ communicating joystick or gamepad.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called gf2k.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config JOYSTICK_GRIP
+ tristate "Gravis GrIP joysticks and gamepads"
+ depends on INPUT && INPUT_JOYSTICK && GAMEPORT
+ help
+ Say Y here if you have a Gravis controller using the GrIP protocol
+ over the PC gameport.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called grip.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config JOYSTICK_GRIP_MP
+ tristate "Gravis GrIP MultiPort"
+ depends on INPUT && INPUT_JOYSTICK && GAMEPORT
+ help
+ Say Y here if you have the original Gravis GrIP MultiPort, a hub
+ that connects to the gameport and you connect gamepads to it.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called grip_mp.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config JOYSTICK_GUILLEMOT
+ tristate "Guillemot joysticks and gamepads"
+ depends on INPUT && INPUT_JOYSTICK && GAMEPORT
+ help
+ Say Y here if you have a Guillemot joystick using a digital
+ protocol over the PC gameport.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called guillemot.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config JOYSTICK_INTERACT
+ tristate "InterAct digital joysticks and gamepads"
+ depends on INPUT && INPUT_JOYSTICK && GAMEPORT
+ help
+ Say Y here if you have an InterAct gameport or joystick
+ communicating digitally over the gameport.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called interact.o. If you want to compile it as
+ a module, say M here and read <file:Documentation/modules.txt>.
+
+config JOYSTICK_SIDEWINDER
+ tristate "Microsoft SideWinder digital joysticks and gamepads"
+ depends on INPUT && INPUT_JOYSTICK && GAMEPORT
+ help
+ Say Y here if you have a Microsoft controller using the Digital
+ Overdrive protocol over PC gameport.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called sidewinder.o. If you want to compile it
+ as a module, say M here and read <file:Documentation/modules.txt>.
+
+config JOYSTICK_TMDC
+ tristate "ThrustMaster DirectConnect joysticks and gamepads"
+ depends on INPUT && INPUT_JOYSTICK && GAMEPORT
+ help
+ Say Y here if you have a ThrustMaster controller using the
+ DirectConnect (BSP) protocol over the PC gameport.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called tmdc.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+source "drivers/input/joystick/iforce/Kconfig"
+
+config JOYSTICK_WARRIOR
+ tristate "Logitech WingMan Warrior joystick"
+ depends on INPUT && INPUT_JOYSTICK && SERIO
+ help
+ Say Y here if you have a Logitech WingMan Warrior joystick connected
+ to your computer's serial port.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called warrior.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config JOYSTICK_MAGELLAN
+ tristate "LogiCad3d Magellan/SpaceMouse 6dof controllers"
+ depends on INPUT && INPUT_JOYSTICK && SERIO
+ help
+ Say Y here if you have a Magellan or Space Mouse 6DOF controller
+ connected to your computer's serial port.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called magellan.o. If you want to compile it as
+ a module, say M here and read <file:Documentation/modules.txt>.
+
+config JOYSTICK_SPACEORB
+ tristate "SpaceTec SpaceOrb/Avenger 6dof controllers"
+ depends on INPUT && INPUT_JOYSTICK && SERIO
+ help
+ Say Y here if you have a SpaceOrb 360 or SpaceBall Avenger 6DOF
+ controller connected to your computer's serial port.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called spaceorb.o. If you want to compile it as
+ a module, say M here and read <file:Documentation/modules.txt>.
+
+config JOYSTICK_SPACEBALL
+ tristate "SpaceTec SpaceBall 6dof controllers"
+ depends on INPUT && INPUT_JOYSTICK && SERIO
+ help
+ Say Y here if you have a SpaceTec SpaceBall 2003/3003/4000 FLX
+ controller connected to your computer's serial port. For the
+ SpaceBall 4000 USB model, use the USB HID driver.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called spaceball.o. If you want to compile it as
+ a module, say M here and read <file:Documentation/modules.txt>.
+
+config JOYSTICK_STINGER
+ tristate "Gravis Stinger gamepad"
+ depends on INPUT && INPUT_JOYSTICK && SERIO
+ help
+ Say Y here if you have a Gravis Stinger connected to one of your
+ serial ports.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called stinger.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config JOYSTICK_TWIDDLER
+ tristate "Twiddler as a joystick"
+ depends on INPUT && INPUT_JOYSTICK && SERIO
+ help
+ Say Y here if you have a Handykey Twiddler connected to your
+ computer's serial port and want to use it as a joystick.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called twidjoy.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config JOYSTICK_DB9
+ tristate "Multisystem, Sega Genesis, Saturn joysticks and gamepads"
+ depends on INPUT && INPUT_JOYSTICK && PARPORT
+ ---help---
+ Say Y here if you have a Sega Master System gamepad, Sega Genesis
+ gamepad, Sega Saturn gamepad, or a Multisystem -- Atari, Amiga,
+ Commodore, Amstrad CPC joystick connected to your parallel port.
+ For more information on how to use the driver please read
+ <file:Documentation/input/joystick-parport.txt>.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called db9.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config JOYSTICK_GAMECON
+ tristate "Multisystem, NES, SNES, N64, PSX joysticks and gamepads"
+ depends on INPUT && INPUT_JOYSTICK && PARPORT
+ ---help---
+ Say Y here if you have a Nintendo Entertainment System gamepad,
+ Super Nintendo Entertainment System gamepad, Nintendo 64 gamepad,
+ Sony PlayStation gamepad or a Multisystem -- Atari, Amiga,
+ Commodore, Amstrad CPC joystick connected to your parallel port.
+ For more information on how to use the driver please read
+ <file:Documentation/input/joystick-parport.txt>.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called gamecon.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config JOYSTICK_TURBOGRAFX
+ tristate "Multisystem joysticks via TurboGraFX device"
+ depends on INPUT && INPUT_JOYSTICK && PARPORT
+ help
+ Say Y here if you have the TurboGraFX interface by Steffen Schwenke,
+ and want to use it with Multisystem -- Atari, Amiga, Commodore,
+ Amstrad CPC joystick. For more information on how to use the driver
+ please read <file:Documentation/input/joystick-parport.txt>.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called turbografx.o. If you want to compile it
+ as a module, say M here and read <file:Documentation/modules.txt>.
+
+config JOYSTICK_AMIGA
+ tristate "Amiga joysticks"
+ depends on AMIGA && INPUT && INPUT_JOYSTICK
+ help
+ Say Y here if you have an Amiga with a digital joystick connected
+ to it.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called amijoy.o. If you want to compile it as
+ a module, say M here and read <file:Documentation/modules.txt>.
+
+config INPUT_JOYDUMP
+ tristate "Gameport data dumper"
+ depends on INPUT && INPUT_JOYSTICK
+ help
+ Say Y here if you want to dump data from your joystick into the system
+ log for debugging purposes. Say N if you are making a production
+ configuration or aren't sure.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called joydump.o. If you want to compile it as
+ a module, say M here and read <file:Documentation/modules.txt>.
+
diff --git a/drivers/input/joystick/iforce/Kconfig b/drivers/input/joystick/iforce/Kconfig
new file mode 100644
index 000000000000..7e7457ceb137
--- /dev/null
+++ b/drivers/input/joystick/iforce/Kconfig
@@ -0,0 +1,33 @@
+#
+# I-Force driver configuration
+#
+config JOYSTICK_IFORCE
+ tristate "I-Force devices"
+ depends on INPUT && INPUT_JOYSTICK
+ help
+ Say Y here if you have an I-Force joystick or steering wheel
+
+ You also must choose at least one of the two options below.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called iforce.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config JOYSTICK_IFORCE_USB
+ bool "I-Force USB joysticks and wheels"
+ depends on JOYSTICK_IFORCE && (JOYSTICK_IFORCE=m || USB=y) && USB
+ help
+ Say Y here if you have an I-Force joystick or steering wheel
+ connected to your USB port.
+
+config JOYSTICK_IFORCE_232
+ bool "I-Force Serial joysticks and wheels"
+ depends on JOYSTICK_IFORCE && (JOYSTICK_IFORCE=m || SERIO=y) && SERIO
+ help
+ Say Y here if you have an I-Force joystick or steering wheel
+ connected to your serial (COM) port.
+
+ You will need an additional utility called inputattach, see
+ Documentation/input/joystick.txt and ff.txt.
+
diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig
new file mode 100644
index 000000000000..b2da525b22bc
--- /dev/null
+++ b/drivers/input/keyboard/Kconfig
@@ -0,0 +1,90 @@
+#
+# Input core configuration
+#
+config INPUT_KEYBOARD
+ bool "Keyboards"
+ depends on INPUT
+ help
+ Say Y here, and a list of supported keyboards will be displayed.
+ This option doesn't affect the kernel.
+
+ If unsure, say Y.
+
+config KEYBOARD_ATKBD
+ tristate "AT keyboard support"
+ depends on INPUT && INPUT_KEYBOARD && SERIO
+ ---help---
+ Say Y here if you want to use the standard AT keyboard. Usually
+ you'll need this, unless you have a different type keyboard (USB,
+ ADB or other). This also works for AT keyboards connected over
+ a PS/2 to serial converter.
+
+ If unsure, say Y.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called atkbd.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config KEYBOARD_SUNKBD
+ tristate "Sun Type 4 and Type 5 keyboard support"
+ depends on INPUT && INPUT_KEYBOARD && SERIO
+ help
+ Say Y here if you want to use a Sun Type 4 or Type 5 keyboard,
+ connected either to the Sun keyboard connector or to an serial
+ (RS-232) port via a simple adapter.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called sunkbd.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config KEYBOARD_XTKBD
+ tristate "XT Keyboard support"
+ depends on INPUT && INPUT_KEYBOARD && SERIO
+ help
+ Say Y here if you want to use the old IBM PC/XT keyboard (or
+ compatible) on your system. This is only possible with a
+ parallel port keyboard adapter, you cannot connect it to the
+ keyboard port on a PC that runs Linux.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called xtkbd.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config KEYBOARD_NEWTON
+ tristate "Newton keyboard"
+ depends on INPUT && INPUT_KEYBOARD && SERIO
+ help
+ Say Y here if you have a Newton keyboard on a serial port.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called maple_keyb.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config KEYBOARD_MAPLE
+ tristate "Maple bus keyboard support"
+ depends on SH_DREAMCAST && INPUT && INPUT_KEYBOARD && MAPLE
+ help
+ Say Y here if you have a DreamCast console running Linux and have
+ a keyboard attached to its Maple bus.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called maple_keyb.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config KEYBOARD_AMIGA
+ tristate "Amiga keyboard"
+ depends on AMIGA && INPUT && INPUT_KEYBOARD
+ help
+ Say Y here if you are running Linux on any AMIGA and have a keyboard
+ attached.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called amikbd.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig
new file mode 100644
index 000000000000..c3d5fc08708f
--- /dev/null
+++ b/drivers/input/misc/Kconfig
@@ -0,0 +1,58 @@
+#
+# Input misc drivers configuration
+#
+config INPUT_MISC
+ bool "Misc"
+ depends on INPUT
+ help
+
+ Say Y here, and a list of miscellaneous input drivers will be displayed.
+ Everything that didn't fit into the other categories is here. This option
+ doesn't affect the kernel.
+
+ If unsure, say Y.
+
+config INPUT_PCSPKR
+ tristate "PC Speaker support"
+ depends on INPUT && INPUT_MISC
+ help
+ Say Y here if you want the standard PC Speaker to be used for
+ bells and whistles.
+
+ If unsure, say Y.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called pcspkr.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config INPUT_SPARCSPKR
+ tristate "SPARC Speaker support"
+ depends on (SPARC32 || SPARC64) && INPUT && INPUT_MISC
+ help
+ Say Y here if you want the standard Speaker on Sparc PCI systems
+ to be used for bells and whistles.
+
+ If unsure, say Y.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called pcspkr.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config INPUT_M68K_BEEP
+ tristate "M68k Beeper support"
+ depends on M68K && INPUT && INPUT_MISC
+
+config INPUT_UINPUT
+ tristate "User level driver support"
+ depends on INPUT && INPUT_MISC
+ help
+ Say Y here if you want to support user level drivers for input
+ subsystem accessible under char device 10:223 - /dev/input/uinput.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called uinput.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
diff --git a/drivers/input/mouse/Kconfig b/drivers/input/mouse/Kconfig
new file mode 100644
index 000000000000..5c7eee5151c8
--- /dev/null
+++ b/drivers/input/mouse/Kconfig
@@ -0,0 +1,121 @@
+#
+# Mouse driver configuration
+#
+config INPUT_MOUSE
+ bool "Mice"
+ depends on INPUT
+ help
+ Say Y here, and a list of supported mice will be displayed.
+ This option doesn't affect the kernel.
+
+ If unsure, say Y.
+
+config MOUSE_PS2
+ tristate "PS/2 mouse"
+ depends on INPUT && INPUT_MOUSE && SERIO
+ ---help---
+ Say Y here if you have a PS/2 mouse connected to your system. This
+ includes the standard 2 or 3-button PS/2 mouse, as well as PS/2
+ mice with wheels and extra buttons, Microsoft, Logitech or Genius
+ compatible.
+
+ If unsure, say Y.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called psmouse.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config MOUSE_SERIAL
+ tristate "Serial mouse"
+ depends on INPUT && INPUT_MOUSE && SERIO
+ ---help---
+ Say Y here if you have a serial (RS-232, COM port) mouse connected
+ to your system. This includes Sun, MouseSystems, Microsoft,
+ Logitech and all other compatible serial mice.
+
+ If unsure, say N.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called sermouse.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config MOUSE_INPORT
+ tristate "InPort/MS/ATIXL busmouse"
+ depends on INPUT && INPUT_MOUSE && ISA
+ help
+ Say Y here if you have an InPort, Microsoft or ATI XL busmouse.
+ They are rather rare these days.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called inport.o. If you want to compile it as a
+ module, say M here and read <file.:Documentation/modules.txt>.
+
+config MOUSE_ATIXL
+ bool "ATI XL variant"
+ depends on MOUSE_INPORT
+ help
+ Say Y here if your mouse is of the ATI XL variety.
+
+config MOUSE_LOGIBM
+ tristate "Logitech busmouse"
+ depends on INPUT && INPUT_MOUSE && ISA
+ help
+ Say Y here if you have a Logitech busmouse.
+ They are rather rare these days.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called logibm.o. If you want to compile it as a
+ module, say M here and read <file.:Documentation/modules.txt>.
+
+config MOUSE_PC110PAD
+ tristate "IBM PC110 touchpad"
+ depends on INPUT && INPUT_MOUSE && ISA
+ help
+ Say Y if you have the IBM PC-110 micro-notebook and want its
+ touchpad supported.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called pc110pad.o. If you want to compile it as a
+ module, say M here and read <file.:Documentation/modules.txt>.
+
+config MOUSE_MAPLE
+ tristate "Maple bus mouse"
+ depends on SH_DREAMCAST && INPUT && INPUT_MOUSE && MAPLE
+ help
+ Say Y if you have a DreamCast console and a mouse attached to
+ its Maple bus.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called maplemouse.o. If you want to compile it as a
+ module, say M here and read <file.:Documentation/modules.txt>.
+
+config MOUSE_AMIGA
+ tristate "Amiga mouse"
+ depends on AMIGA && INPUT && INPUT_MOUSE
+ help
+ Say Y here if you have an Amiga and want its native mouse
+ supported by the kernel.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called amimouse.o. If you want to compile it as a
+ module, say M here and read <file.:Documentation/modules.txt>.
+
+config MOUSE_ACORN
+ tristate "Acorn RiscPC mouse"
+ depends on ARCH_ACORN && INPUT && INPUT_MOUSE
+ help
+ Say Y here if you have the Acorn RiscPC computer and want its
+ native mouse supported.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called rpcmouse.o. If you want to compile it as a
+ module, say M here and read <file.:Documentation/modules.txt>.
+
diff --git a/drivers/input/serio/Kconfig b/drivers/input/serio/Kconfig
new file mode 100644
index 000000000000..bb0a2656b8af
--- /dev/null
+++ b/drivers/input/serio/Kconfig
@@ -0,0 +1,105 @@
+#
+# Input core configuration
+#
+config SERIO
+ tristate "Serial i/o support"
+ ---help---
+ Say Yes here if you have any input device that uses serial I/O to
+ communicate with the system. This includes the
+ * standard AT keyboard and PS/2 mouse *
+ as well as serial mice, Sun keyboards, some joysticks and 6dof
+ devices and more.
+
+ If unsure, say Y.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called serio.o. If you want to compile it
+ as a module, say M here and read <file:Documentation/modules.txt>.
+
+config SERIO_I8042
+ tristate "i8042 PC Keyboard controller"
+ depends on SERIO
+ ---help---
+ i8042 is the chip over which the standard AT keyboard and PS/2
+ mouse are connected to the computer. If you use these devices,
+ you'll need to say Y here.
+
+ If unsure, say Y.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called i8042.o. If you want to compile it
+ as a module, say M here and read <file:Documentation/modules.txt>.
+
+config SERIO_SERPORT
+ tristate "Serial port line discipline"
+ depends on SERIO
+ ---help---
+ Say Y here if you plan to use an input device (mouse, joystick,
+ tablet, 6dof) that communicates over the RS232 serial (COM) port.
+
+ More information is available: <file:Documentation/input/input.txt>
+
+ If unsure, say Y.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called serport.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config SERIO_CT82C710
+ tristate "ct82c710 Aux port controller"
+ depends on SERIO
+ ---help---
+ Say Y here if you have a Texas Instruments TravelMate notebook
+ equipped with the ct82c710 chip and want to use a mouse connected
+ to the "QuickPort".
+
+ If unsure, say N.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called ct82c710.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config SERIO_Q40KBD
+ tristate "Q40 keyboard controller"
+ depends on Q40 && SERIO
+
+config SERIO_PARKBD
+ tristate "Parallel port keyboard adapter"
+ depends on SERIO && PARPORT
+ ---help---
+ Say Y here if you built a simple parallel port adapter to attach
+ an additional AT keyboard, XT keyboard or PS/2 mouse.
+
+ More information is available: <file:Documentation/input/input.txt>
+
+ If unsure, say N.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called parkbd.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config SERIO_ACORN
+ tristate "Acorn RiscPC keyboard controller"
+ depends on ARCH_ACORN && SERIO
+ help
+ Say Y here if you have the Acorn RiscPC and want to use an AT
+ keyboard connected to its keyboard controller.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called rpckbd.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config SERIO_AMBAKMI
+ tristate "AMBA KMI keyboard controller"
+ depends on ARCH_INTEGRATOR && SERIO
+
+config SERIO_SA1111
+ tristate "Intel SA1111 keyboard controller"
+ depends on SA1111 && SERIO
+
diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig
new file mode 100644
index 000000000000..6823af8eae36
--- /dev/null
+++ b/drivers/input/touchscreen/Kconfig
@@ -0,0 +1,39 @@
+#
+# Mouse driver configuration
+#
+config INPUT_TOUCHSCREEN
+ bool "Touchscreens"
+ depends on INPUT
+ help
+ Say Y here, and a list of supported touchscreens will be displayed.
+ This option doesn't affect the kernel.
+
+ If unsure, say Y.
+
+config TOUCHSCREEN_BITSY
+ tristate "Compaq iPAQ H3600 (Bitsy) touchscreen input driver"
+ depends on SA1100_BITSY && INPUT && INPUT_TOUCHSCREEN && SERIO
+ help
+ Say Y here if you have the h3600 (Bitsy) touchscreen.
+
+ If unsure, say N.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called gunze.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+config TOUCHSCREEN_GUNZE
+ tristate "Gunze AHL-51S touchscreen"
+ depends on INPUT && INPUT_TOUCHSCREEN && SERIO
+ help
+ Say Y here if you have the Gunze AHL-51 touchscreen connected to
+ your system.
+
+ If unsure, say N.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called gunze.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
diff --git a/drivers/isdn/Kconfig b/drivers/isdn/Kconfig
new file mode 100644
index 000000000000..e7cf3531c66c
--- /dev/null
+++ b/drivers/isdn/Kconfig
@@ -0,0 +1,65 @@
+#
+# ISDN device configuration
+#
+
+menu "ISDN subsystem"
+
+config ISDN_BOOL
+ bool "ISDN support"
+ depends on NET
+ ---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://alumni.caltech.edu/~dank/isdn/> on the WWW.
+
+ Select this option if you want your kernel to support ISDN.
+
+
+menu "Old ISDN4Linux"
+ depends on NET && ISDN_BOOL
+
+config ISDN
+ tristate "Old ISDN4Linux (obsolete)"
+ ---help---
+ This driver allows you to use an ISDN-card 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 is becoming obsolete. It is
+ still usable, though, if you select this option.
+
+source "drivers/isdn/i4l/Kconfig"
+
+endmenu
+
+comment "CAPI subsystem"
+ depends on NET && ISDN_BOOL
+
+config ISDN_CAPI
+ tristate "CAPI2.0 support"
+ depends on ISDN_BOOL
+ 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.
+
+source "drivers/isdn/capi/Kconfig"
+
+source "drivers/isdn/hardware/Kconfig"
+
+endmenu
+
diff --git a/drivers/isdn/act2000/Kconfig b/drivers/isdn/act2000/Kconfig
new file mode 100644
index 000000000000..f80f66dcd254
--- /dev/null
+++ b/drivers/isdn/act2000/Kconfig
@@ -0,0 +1,13 @@
+#
+# Config.in for IBM Active 2000 ISDN driver
+#
+config ISDN_DRV_ACT2000
+ tristate "IBM Active 2000 support"
+ depends on ISDN && ISA
+ help
+ Say Y here if you have an IBM Active 2000 ISDN card. In order to use
+ this card, additional firmware is necessary, which has to be loaded
+ into the card using a utility which is part of the latest
+ isdn4k-utils package. Please read the file
+ <file:Documentation/isdn/README.act2000> for more information.
+
diff --git a/drivers/isdn/capi/Kconfig b/drivers/isdn/capi/Kconfig
new file mode 100644
index 000000000000..9c16083c8f25
--- /dev/null
+++ b/drivers/isdn/capi/Kconfig
@@ -0,0 +1,53 @@
+#
+# Config.in for the CAPI subsystem
+#
+config ISDN_DRV_AVMB1_VERBOSE_REASON
+ bool "Verbose reason code reporting (kernel size +=7K)"
+ depends on ISDN_CAPI
+ help
+ If you say Y here, the AVM B1 driver will give verbose reasons for
+ disconnecting. This will increase the size of the kernel by 7 KB. If
+ unsure, say Y.
+
+config ISDN_CAPI_MIDDLEWARE
+ bool "CAPI2.0 Middleware support (EXPERIMENTAL)"
+ depends on ISDN_CAPI && EXPERIMENTAL
+ help
+ This option will enhance the capabilities of the /dev/capi20
+ interface. It will provide a means of moving a data connection,
+ established via the usual /dev/capi20 interface to a special tty
+ device. If you want to use pppd with pppdcapiplugin to dial up to
+ your ISP, say Y here.
+
+config ISDN_CAPI_CAPI20
+ tristate "CAPI2.0 /dev/capi support"
+ depends on ISDN_CAPI
+ help
+ This option will provide the CAPI 2.0 interface to userspace
+ applications via /dev/capi20. Applications should use the
+ standardized libcapi20 to access this functionality. You should say
+ Y/M here.
+
+config ISDN_CAPI_CAPIFS_BOOL
+ bool "CAPI2.0 filesystem support"
+ depends on ISDN_CAPI_MIDDLEWARE && ISDN_CAPI_CAPI20
+
+config ISDN_CAPI_CAPIFS
+ tristate
+ depends on ISDN_CAPI_CAPIFS_BOOL
+ default ISDN_CAPI_CAPI20
+ help
+ This option provides a special file system, similar to /dev/pts with
+ device nodes for the special ttys established by using the
+ middleware extension above. If you want to use pppd with
+ pppdcapiplugin to dial up to your ISP, say Y here.
+
+config ISDN_CAPI_CAPIDRV
+ tristate "CAPI2.0 capidrv interface support"
+ depends on ISDN_CAPI && ISDN
+ help
+ This option provides the glue code to hook up CAPI driven cards to
+ the legacy isdn4linux link layer. If you have a card which is
+ supported by a CAPI driver, but still want to use old features like
+ ippp interfaces or ttyI emulation, say Y/M here.
+
diff --git a/drivers/isdn/eicon/Kconfig b/drivers/isdn/eicon/Kconfig
new file mode 100644
index 000000000000..d18aae7bc0bb
--- /dev/null
+++ b/drivers/isdn/eicon/Kconfig
@@ -0,0 +1,53 @@
+#
+# Config.in for Eicon active ISDN support
+#
+config ISDN_DRV_EICON
+ bool "Eicon active card support"
+ help
+ Say Y here if you have an Eicon active ISDN card. In order to use
+ this card, additional firmware is necessary, which has to be loaded
+ into the card using the eiconctrl utility which is part of the
+ latest isdn4k-utils package. Please read the file
+ <file:Documentation/isdn/README.eicon> for more information.
+
+choice
+ prompt "Eicon active card support"
+ optional
+ depends on ISDN_DRV_EICON && ISDN
+
+config ISDN_DRV_EICON_DIVAS
+ tristate "Eicon driver"
+ depends on PCI
+ help
+ Enable this option if you want the eicon driver as standalone
+ version with no interface to the ISDN4Linux isdn module. If you
+ say Y here, the eicon module only supports the Diva Server PCI
+ cards and will provide its own IDI interface. You should say N
+ here.
+
+config ISDN_DRV_EICON_OLD
+ tristate "Legacy driver"
+ help
+ Say Y here to use your Eicon active ISDN card with ISDN4Linux
+ isdn module.
+
+config ISDN_DRV_EICON_PCI
+ bool "Eicon PCI DIVA Server BRI/PRI/4BRI support"
+ depends on ISDN_DRV_EICON_OLD && PCI
+ help
+ Say Y here if you have an Eicon Diva Server (BRI/PRI/4BRI) ISDN
+ card. Please read <file:Documentation/isdn/README.eicon> for more
+ information.
+
+config ISDN_DRV_EICON_ISA
+ bool "Eicon S,SX,SCOM,Quadro,S2M support"
+ depends on ISDN_DRV_EICON_OLD
+ help
+ Say Y here if you have an old-type Eicon active ISDN card. In order
+ to use this card, additional firmware is necessary, which has to be
+ loaded into the card using the eiconctrl utility which is part of
+ the latest isdn4k-utils package. Please read the file
+ <file:Documentation/isdn/README.eicon> for more information.
+
+endchoice
+
diff --git a/drivers/isdn/hardware/Kconfig b/drivers/isdn/hardware/Kconfig
new file mode 100644
index 000000000000..b2132c6035a9
--- /dev/null
+++ b/drivers/isdn/hardware/Kconfig
@@ -0,0 +1,35 @@
+#
+# ISDN hardware drivers
+#
+comment "CAPI hardware drivers"
+ depends on NET && ISDN_BOOL && ISDN_CAPI
+
+source "drivers/isdn/hardware/avm/Kconfig"
+
+source "drivers/isdn/hardware/eicon/Kconfig"
+
+comment "ISDN4Linux hardware drivers"
+ depends on NET && ISDN_BOOL && ISDN
+
+source "drivers/isdn/hisax/Kconfig"
+
+
+menu "Active cards"
+ depends on NET && ISDN_BOOL && ISDN!=n
+
+source "drivers/isdn/icn/Kconfig"
+
+source "drivers/isdn/pcbit/Kconfig"
+
+source "drivers/isdn/sc/Kconfig"
+
+source "drivers/isdn/act2000/Kconfig"
+
+source "drivers/isdn/eicon/Kconfig"
+
+source "drivers/isdn/tpam/Kconfig"
+
+source "drivers/isdn/hysdn/Kconfig"
+
+endmenu
+
diff --git a/drivers/isdn/hardware/avm/Kconfig b/drivers/isdn/hardware/avm/Kconfig
new file mode 100644
index 000000000000..439b87539cc0
--- /dev/null
+++ b/drivers/isdn/hardware/avm/Kconfig
@@ -0,0 +1,66 @@
+#
+# ISDN AVM drivers
+#
+
+menu "Active AVM cards"
+ depends on NET && ISDN_BOOL && ISDN_CAPI!=n
+
+config CAPI_AVM
+ bool "Support AVM cards"
+ help
+ Enable support for AVM active ISDN cards.
+
+config ISDN_DRV_AVMB1_B1ISA
+ tristate "AVM B1 ISA support"
+ depends on CAPI_AVM && ISDN_CAPI && SA
+ help
+ Enable support for the ISA version of the AVM B1 card.
+
+config ISDN_DRV_AVMB1_B1PCI
+ tristate "AVM B1 PCI support"
+ depends on CAPI_AVM && ISDN_CAPI && PCI
+ help
+ Enable support for the PCI version of the AVM B1 card.
+
+config ISDN_DRV_AVMB1_B1PCIV4
+ bool "AVM B1 PCI V4 support"
+ depends on ISDN_DRV_AVMB1_B1PCI
+ help
+ Enable support for the V4 version of AVM B1 PCI card.
+
+config ISDN_DRV_AVMB1_T1ISA
+ tristate "AVM T1/T1-B ISA support"
+ depends on CAPI_AVM && ISDN_CAPI && ISA
+ help
+ Enable support for the AVM T1 T1B card.
+ Note: This is a PRI card and handle 30 B-channels.
+
+config ISDN_DRV_AVMB1_B1PCMCIA
+ tristate "AVM B1/M1/M2 PCMCIA support"
+ depends on CAPI_AVM && ISDN_CAPI
+ help
+ Enable support for the PCMCIA version of the AVM B1 card.
+
+config ISDN_DRV_AVMB1_AVM_CS
+ tristate "AVM B1/M1/M2 PCMCIA cs module"
+ depends on ISDN_DRV_AVMB1_B1PCMCIA && PCMCIA
+ help
+ Enable the PCMCIA client driver for the AVM B1/M1/M2
+ PCMCIA cards.
+
+config ISDN_DRV_AVMB1_T1PCI
+ tristate "AVM T1/T1-B PCI support"
+ depends on CAPI_AVM && ISDN_CAPI && PCI
+ help
+ Enable support for the AVM T1 T1B card.
+ Note: This is a PRI card and handle 30 B-channels.
+
+config ISDN_DRV_AVMB1_C4
+ tristate "AVM C4/C2 support"
+ depends on CAPI_AVM && ISDN_CAPI && PCI
+ help
+ Enable support for the AVM C4/C2 PCI cards.
+ These cards handle 4/2 BRI ISDN lines (8/4 channels).
+
+endmenu
+
diff --git a/drivers/isdn/hardware/eicon/Kconfig b/drivers/isdn/hardware/eicon/Kconfig
new file mode 100644
index 000000000000..c929795e5856
--- /dev/null
+++ b/drivers/isdn/hardware/eicon/Kconfig
@@ -0,0 +1,59 @@
+#
+# ISDN DIVAS Eicon driver
+#
+
+menu "Active Eicon DIVA Server cards"
+ depends on NET && ISDN_BOOL && ISDN_CAPI!=n
+
+config CAPI_EICON
+ bool "Support Eicon cards"
+ help
+ Enable support for Eicon Networks active ISDN cards.
+
+config ISDN_DIVAS
+ tristate "Support Eicon DIVA Server cards"
+ depends on CAPI_EICON && PROC_FS && PCI && m
+ help
+ Say Y here if you have an Eicon Networks DIVA Server PCI ISDN card.
+ In order to use this card, additional firmware is necessary, which
+ has to be downloaded into the card using the divactrl utility.
+
+config ISDN_DIVAS_BRIPCI
+ bool "DIVA Server BRI/PCI support"
+ depends on ISDN_DIVAS
+ help
+ Enable support for DIVA Server BRI-PCI.
+
+config ISDN_DIVAS_4BRIPCI
+ bool "DIVA Server 4BRI/PCI support"
+ depends on ISDN_DIVAS
+ help
+ Enable support for DIVA Server 4BRI-PCI.
+
+config ISDN_DIVAS_PRIPCI
+ bool "DIVA Server PRI/PCI support"
+ depends on ISDN_DIVAS
+ help
+ Enable support for DIVA Server PRI-PCI.
+
+config ISDN_DIVAS_DIVACAPI
+ tristate "DIVA CAPI2.0 interface support"
+ depends on ISDN_DIVAS && ISDN_CAPI
+ help
+ You need this to provide the CAPI interface
+ for DIVA Server cards.
+
+config ISDN_DIVAS_MAINT
+ tristate "DIVA Maint driver support"
+ depends on ISDN_DIVAS
+ help
+ Enable Divas Maintainance driver.
+
+config ISDN_DIVAS_USERIDI
+ tristate "DIVA User-IDI interface support"
+ depends on ISDN_DIVAS
+ help
+ Enable support for user-mode IDI interface.
+
+endmenu
+
diff --git a/drivers/isdn/hisax/Kconfig b/drivers/isdn/hisax/Kconfig
new file mode 100644
index 000000000000..eed85cd226ab
--- /dev/null
+++ b/drivers/isdn/hisax/Kconfig
@@ -0,0 +1,425 @@
+
+menu "Passive cards"
+ depends on NET && ISDN_BOOL && ISDN!=n
+
+config ISDN_DRV_HISAX
+ tristate "HiSax SiemensChipSet driver support"
+ depends on ISDN
+ ---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.
+
+comment "D-channel protocol features"
+ depends on ISDN_DRV_HISAX
+
+config HISAX_EURO
+ bool "HiSax Support for EURO/DSS1"
+ depends on ISDN_DRV_HISAX
+ 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"
+ depends on ISDN_DRV_HISAX
+ 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"
+ depends on ISDN_DRV_HISAX
+ 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"
+ depends on ISDN_DRV_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"
+ depends on ISDN_DRV_HISAX
+
+config HISAX_16_0
+ bool "Teles 16.0/8.0"
+ depends on ISDN_DRV_HISAX && 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"
+ depends on ISDN_DRV_HISAX
+ 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 ISDN_DRV_HISAX
+ 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"
+ depends on ISDN_DRV_HISAX
+ 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 ISDN_DRV_HISAX && 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)"
+ depends on ISDN_DRV_HISAX
+ 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)"
+ depends on ISDN_DRV_HISAX
+ 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"
+ depends on ISDN_DRV_HISAX
+ 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 ISDN_DRV_HISAX && 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"
+ depends on ISDN_DRV_HISAX
+ 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 ISDN_DRV_HISAX && 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 ISDN_DRV_HISAX && 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 ISDN_DRV_HISAX && 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"
+ depends on ISDN_DRV_HISAX
+ 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 ISDN_DRV_HISAX && 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 ISDN_DRV_HISAX && 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 ISDN_DRV_HISAX
+ 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 ISDN_DRV_HISAX
+ 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"
+ depends on ISDN_DRV_HISAX
+ 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 ISDN_DRV_HISAX && 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 ISDN_DRV_HISAX && 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 ISDN_DRV_HISAX
+ 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 ISDN_DRV_HISAX
+ 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"
+ depends on ISDN_DRV_HISAX
+ 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 ISDN_DRV_HISAX
+ 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 ISDN_DRV_HISAX
+ 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"
+ depends on ISDN_DRV_HISAX
+ 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 (EXPERIMENTAL)"
+ depends on ISDN_DRV_HISAX && EXPERIMENTAL
+
+config HISAX_AMD7930
+ bool "Am7930 (EXPERIMENTAL)"
+ depends on ISDN_DRV_HISAX && EXPERIMENTAL && (SPARC32 || SPARC64)
+ help
+ This enables HiSax support for the AMD7930 chips on some SPARCs.
+ This code is not finished yet.
+
+config HISAX_DEBUG
+ bool "HiSax debugging"
+ depends on ISDN_DRV_HISAX
+ help
+ This enables debugging code in the new-style HiSax drivers, i.e.
+ the ST5481 USB driver currently.
+ If in doubt, say yes.
+
+config HISAX_SEDLBAUER_CS
+ tristate "Sedlbauer PCMCIA cards"
+ depends on ISDN_DRV_HISAX && PCMCIA
+ 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 ISDN_DRV_HISAX && PCMCIA
+ 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 ISDN_DRV_HISAX && PCMCIA
+ help
+ This enables the PCMCIA client driver for the AVM A1 / Fritz!Card
+ PCMCIA cards.
+
+config HISAX_ST5481
+ tristate "ST5481 USB ISDN modem (EXPERIMENTAL)"
+ depends on ISDN_DRV_HISAX && USB && EXPERIMENTAL
+ help
+ This enables the driver for ST5481 based USB ISDN adapters,
+ e.g. the BeWan Gazel 128 USB
+
+config HISAX_FRITZ_PCIPNP
+ tristate "AVM Fritz!Card PCI/PCIv2/PnP support (EXPERIMENTAL)"
+ depends on ISDN_DRV_HISAX && 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_FRITZ_CLASSIC
+ tristate "AVM Fritz!Card classic support (EXPERIMENTAL)"
+ depends on ISDN_DRV_HISAX && EXPERIMENTAL
+ help
+ This enables the driver for the AVM Fritz!Card classic, formerly
+ known as AVM A1.
+
+config HISAX_HFCPCI
+ tristate "HFC PCI support (EXPERIMENTAL)"
+ depends on ISDN_DRV_HISAX && EXPERIMENTAL
+
+endmenu
+
diff --git a/drivers/isdn/hysdn/Kconfig b/drivers/isdn/hysdn/Kconfig
new file mode 100644
index 000000000000..4ad33acb202c
--- /dev/null
+++ b/drivers/isdn/hysdn/Kconfig
@@ -0,0 +1,18 @@
+#
+# Config.in for HYSDN ISDN driver
+#
+config HYSDN
+ tristate "Hypercope HYSDN cards (Champ, Ergo, Metro) support (module only)"
+ depends on m && PROC_FS
+ help
+ Say Y here if you have one of Hypercope's active PCI ISDN cards
+ Champ, Ergo and Metro. You will then get a module called hysdn.o.
+ Please read the file <file:Documentation/isdn/README.hysdn> for more
+ information.
+
+config HYSDN_CAPI
+ bool "HYSDN CAPI 2.0 support"
+ depends on HYSDN && ISDN_CAPI
+ help
+ Say Y here if you like to use Hypercope's CAPI 2.0 interface.
+
diff --git a/drivers/isdn/i4l/Kconfig b/drivers/isdn/i4l/Kconfig
new file mode 100644
index 000000000000..8c57023e48bb
--- /dev/null
+++ b/drivers/isdn/i4l/Kconfig
@@ -0,0 +1,109 @@
+#
+# Old ISDN4Linux config
+#
+config ISDN_PPP
+ bool "Support synchronous PPP"
+ depends on ISDN && INET
+ help
+ Over digital connections such as ISDN, there is no need to
+ synchronize sender and recipient's clocks with start and stop bits
+ as is done over analog telephone lines. Instead, one can use
+ "synchronous PPP". Saying Y here will include this protocol. This
+ protocol is used by Cisco and Sun for example. So you want to say Y
+ here if the other end of your ISDN connection supports it. You will
+ need a special version of pppd (called ipppd) for using this
+ feature. See <file:Documentation/isdn/README.syncppp> and
+ <file:Documentation/isdn/syncPPP.FAQ> for more information.
+
+config ISDN_PPP_VJ
+ bool "Use VJ-compression with synchronous PPP"
+ depends on ISDN_PPP
+ help
+ This enables Van Jacobson header compression for synchronous PPP.
+ Say Y if the other end of the connection supports it.
+
+config ISDN_MPP
+ bool "Support generic MP (RFC 1717)"
+ depends on ISDN_PPP
+ help
+ With synchronous PPP enabled, it is possible to increase throughput
+ by bundling several ISDN-connections, using this protocol. See
+ <file:Documentation/isdn/README.syncppp> for more information.
+
+config ISDN_PPP_BSDCOMP
+ tristate "Support BSD compression"
+ depends on ISDN_PPP && ISDN
+ help
+ Support for the BSD-Compress compression method for PPP, which uses
+ the LZW compression method to compress each PPP packet before it is
+ sent over the wire. The machine at the other end of the PPP link
+ (usually your ISP) has to support the BSD-Compress compression
+ method as well for this to be useful. Even if they don't support it,
+ it is safe to say Y here.
+
+config ISDN_AUDIO
+ bool "Support audio via ISDN"
+ depends on ISDN
+ help
+ If you say Y here, the modem-emulator will support a subset of the
+ EIA Class 8 Voice commands. Using a getty with voice-support
+ (mgetty+sendfax by gert@greenie.muc.de with an extension, available
+ with the ISDN utility package for example), you will be able to use
+ your Linux box as an ISDN-answering machine. Of course, this must be
+ supported by the lowlevel driver also. Currently, the HiSax driver
+ is the only voice-supporting driver. See
+ <file:Documentation/isdn/README.audio> for more information.
+
+config ISDN_TTY_FAX
+ bool "Support AT-Fax Class 1 and 2 commands"
+ depends on ISDN_AUDIO
+ help
+ If you say Y here, the modem-emulator will support a subset of the
+ Fax Class 1 and 2 commands. Using a getty with fax-support
+ (mgetty+sendfax, hylafax), you will be able to use your Linux box as
+ an ISDN-fax-machine. This must be supported by the lowlevel driver
+ also. See <file:Documentation/isdn/README.fax> for more information.
+
+config ISDN_X25
+ bool "X.25 PLP on top of ISDN"
+ depends on ISDN && X25
+ help
+ This feature provides the X.25 protocol over ISDN connections.
+ See <file:Documentation/isdn/README.x25> for more information
+ if you are thinking about using this.
+
+
+menu "ISDN feature submodules"
+ depends on ISDN!=n
+
+config ISDN_DRV_LOOP
+ tristate "isdnloop support"
+ depends on ISDN
+ help
+ This driver provides a virtual ISDN card. Its primary purpose is
+ testing of linklevel features or configuration without getting
+ charged by your service-provider for lots of phone calls.
+ You need will need the loopctrl utility from the latest isdn4k-utils
+ package to set up this driver.
+
+config ISDN_DIVERSION
+ tristate "Support isdn diversion services"
+ depends on ISDN
+ ---help---
+ This option allows you to use some supplementary diversion
+ services in conjunction with the HiSax driver on an EURO/DSS1
+ line.
+
+ Supported options are CD (call deflection), CFU (Call forward
+ unconditional), CFB (Call forward when busy) and CFNR (call forward
+ not reachable). Additionally the actual CFU, CFB and CFNR state may
+ be interrogated.
+
+ The use of CFU, CFB, CFNR and interrogation may be limited to some
+ countries. The keypad protocol is still not implemented. CD should
+ work in all countries if the service has been subscribed to.
+
+ Please read the file <file:Documentation/isdn/README.diversion>.
+
+endmenu
+
diff --git a/drivers/isdn/icn/Kconfig b/drivers/isdn/icn/Kconfig
new file mode 100644
index 000000000000..ddcd03d7bc74
--- /dev/null
+++ b/drivers/isdn/icn/Kconfig
@@ -0,0 +1,16 @@
+#
+# Config.in for ICN ISDN driver
+#
+config ISDN_DRV_ICN
+ tristate "ICN 2B and 4B support"
+ depends on ISDN && ISA
+ help
+ This enables support for two kinds of ISDN-cards made by a German
+ company called ICN. 2B is the standard version for a single ISDN
+ line with two B-channels, 4B supports two ISDN lines. For running
+ this card, additional firmware is necessary, which has to be
+ downloaded into the card using a utility which is distributed
+ separately. See <file:Documentation/isdn/README> and
+ <file:Documentation/isdn/README.icn> for more
+ information.
+
diff --git a/drivers/isdn/pcbit/Kconfig b/drivers/isdn/pcbit/Kconfig
new file mode 100644
index 000000000000..2eb8723cd52b
--- /dev/null
+++ b/drivers/isdn/pcbit/Kconfig
@@ -0,0 +1,14 @@
+#
+# Config.in for PCBIT ISDN driver
+#
+config ISDN_DRV_PCBIT
+ tristate "PCBIT-D support"
+ depends on ISDN && ISA
+ help
+ This enables support for the PCBIT ISDN-card. This card is
+ manufactured in Portugal by Octal. For running this card,
+ additional firmware is necessary, which has to be downloaded into
+ the card using a utility which is distributed separately. See
+ <file:Documentation/isdn/README> and
+ <file:Documentation/isdn/README.pcbit> for more information.
+
diff --git a/drivers/isdn/sc/Kconfig b/drivers/isdn/sc/Kconfig
new file mode 100644
index 000000000000..48ced0506ab8
--- /dev/null
+++ b/drivers/isdn/sc/Kconfig
@@ -0,0 +1,14 @@
+#
+# Config.in for Spellcaster ISDN driver
+#
+config ISDN_DRV_SC
+ tristate "Spellcaster support"
+ depends on ISDN && ISA
+ help
+ This enables support for the Spellcaster BRI ISDN boards. This
+ driver currently builds only in a modularized version ( = code which
+ can be inserted in and removed from the running kernel whenever you
+ want, details in <file:Documentation/modules.txt>); the module will
+ be called sc.o. See <file:Documentation/isdn/README.sc> and
+ <http://www.spellcast.com/> for more information.
+
diff --git a/drivers/isdn/tpam/Kconfig b/drivers/isdn/tpam/Kconfig
new file mode 100644
index 000000000000..5662475999e7
--- /dev/null
+++ b/drivers/isdn/tpam/Kconfig
@@ -0,0 +1,14 @@
+#
+# Config.in for Auvertech TurboPAM ISDN driver
+#
+config ISDN_DRV_TPAM
+ tristate "Auvertech TurboPAM support (EXPERIMENTAL)"
+ depends on EXPERIMENTAL && ISDN && PCI
+ help
+ This enables support for the Auvertech TurboPAM ISDN-card.
+ For running this card, additional firmware is necessary, which has
+ to be downloaded into the card using a utility which is distributed
+ separately from the Auvertech's web site: <http://www.auvertech.fr/>.
+
+ Please redirect all support questions to support@auvertech.fr.
+
diff --git a/drivers/md/Kconfig b/drivers/md/Kconfig
new file mode 100644
index 000000000000..7a307bf1307a
--- /dev/null
+++ b/drivers/md/Kconfig
@@ -0,0 +1,149 @@
+#
+# Block device driver configuration
+#
+
+menu "Multi-device support (RAID and LVM)"
+
+config MD
+ bool "Multiple devices driver support (RAID and LVM)"
+ help
+ Support multiple physical spindles through a single logical device.
+ Required for RAID and logical volume management.
+
+config BLK_DEV_MD
+ tristate "RAID support"
+ depends on MD
+ ---help---
+ This driver lets you combine several hard disk partitions into one
+ logical block device. This can be used to simply append one
+ partition to another one or to combine several redundant hard disks
+ into a RAID1/4/5 device so as to provide protection against hard
+ disk failures. This is called "Software RAID" since the combining of
+ the partitions is done by the kernel. "Hardware RAID" means that the
+ combining is done by a dedicated controller; if you have such a
+ controller, you do not need to say Y here.
+
+ More information about Software RAID on Linux is contained in the
+ Software RAID mini-HOWTO, available from
+ <http://www.linuxdoc.org/docs.html#howto>. There you will also learn
+ where to get the supporting user space utilities raidtools.
+
+ If unsure, say N.
+
+config MD_LINEAR
+ tristate "Linear (append) mode"
+ depends on BLK_DEV_MD
+ ---help---
+ If you say Y here, then your multiple devices driver will be able to
+ use the so-called linear mode, i.e. it will combine the hard disk
+ partitions by simply appending one to the other.
+
+ If you want to compile this as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called linear.o.
+
+ If unsure, say Y.
+
+config MD_RAID0
+ tristate "RAID-0 (striping) mode"
+ depends on BLK_DEV_MD
+ ---help---
+ If you say Y here, then your multiple devices driver will be able to
+ use the so-called raid0 mode, i.e. it will combine the hard disk
+ partitions into one logical device in such a fashion as to fill them
+ up evenly, one chunk here and one chunk there. This will increase
+ the throughput rate if the partitions reside on distinct disks.
+
+ Information about Software RAID on Linux is contained in the
+ Software-RAID mini-HOWTO, available from
+ <http://www.linuxdoc.org/docs.html#howto>. There you will also
+ learn where to get the supporting user space utilities raidtools.
+
+ If you want to compile this as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called raid0.o.
+
+ If unsure, say Y.
+
+config MD_RAID1
+ tristate "RAID-1 (mirroring) mode"
+ depends on BLK_DEV_MD
+ ---help---
+ A RAID-1 set consists of several disk drives which are exact copies
+ of each other. In the event of a mirror failure, the RAID driver
+ will continue to use the operational mirrors in the set, providing
+ an error free MD (multiple device) to the higher levels of the
+ kernel. In a set with N drives, the available space is the capacity
+ of a single drive, and the set protects against a failure of (N - 1)
+ drives.
+
+ Information about Software RAID on Linux is contained in the
+ Software-RAID mini-HOWTO, available from
+ <http://www.linuxdoc.org/docs.html#howto>. There you will also
+ learn where to get the supporting user space utilities raidtools.
+
+ If you want to use such a RAID-1 set, say Y. This code is also
+ available as a module called raid1.o ( = code which can be inserted
+ in and removed from the running kernel whenever you want). If you
+ want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>.
+
+ If unsure, say Y.
+
+config MD_RAID5
+ tristate "RAID-4/RAID-5 mode"
+ depends on BLK_DEV_MD
+ ---help---
+ A RAID-5 set of N drives with a capacity of C MB per drive provides
+ the capacity of C * (N - 1) MB, and protects against a failure
+ of a single drive. For a given sector (row) number, (N - 1) drives
+ contain data sectors, and one drive contains the parity protection.
+ For a RAID-4 set, the parity blocks are present on a single drive,
+ while a RAID-5 set distributes the parity across the drives in one
+ of the available parity distribution methods.
+
+ Information about Software RAID on Linux is contained in the
+ Software-RAID mini-HOWTO, available from
+ <http://www.linuxdoc.org/docs.html#howto>. There you will also
+ learn where to get the supporting user space utilities raidtools.
+
+ If you want to use such a RAID-4/RAID-5 set, say Y. This code is
+ also available as a module called raid5.o ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>.
+
+ If unsure, say Y.
+
+config MD_MULTIPATH
+ tristate "Multipath I/O support"
+ depends on BLK_DEV_MD
+ help
+ Multipath-IO is the ability of certain devices to address the same
+ physical disk over multiple 'IO paths'. The code ensures that such
+ paths can be defined and handled at runtime, and ensures that a
+ transparent failover to the backup path(s) happens if a IO errors
+ arrives on the primary path.
+
+ If unsure, say N.
+
+config BLK_DEV_DM
+ tristate "Device mapper support"
+ depends on MD
+ ---help---
+ Device-mapper is a low level volume manager. It works by allowing
+ people to specify mappings for ranges of logical sectors. Various
+ mapping types are available, in addition people may write their own
+ modules containing custom mappings if they wish.
+
+ Higher level volume managers such as LVM2 use this driver.
+
+ If you want to compile this as a module, say M here and read
+ <file:Documentation/modules.txt>. The module will be called dm-mod.o.
+
+ If unsure, say N.
+
+endmenu
+
diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
new file mode 100644
index 000000000000..c834c9ab7d2a
--- /dev/null
+++ b/drivers/media/Kconfig
@@ -0,0 +1,31 @@
+#
+# Multimedia device configuration
+#
+
+menu "Multimedia devices"
+
+config VIDEO_DEV
+ tristate "Video For Linux"
+ ---help---
+ Support for audio/video capture and overlay devices and FM radio
+ cards. The exact capabilities of each device vary. User tools for
+ this are available from
+ <ftp://ftp.uk.linux.org/pub/linux/video4linux/>.
+
+ If you are interested in writing a driver for such an audio/video
+ device or user software interacting with such a driver, please read
+ the file <file:Documentation/video4linux/API.html>.
+
+ This driver is also available as a module called videodev.o ( = code
+ which can be inserted in and removed from the running kernel
+ whenever you want). If you want to compile it as a module, say M
+ here and read <file:Documentation/modules.txt>.
+
+source "drivers/media/video/Kconfig"
+
+source "drivers/media/radio/Kconfig"
+
+source "drivers/media/dvb/Kconfig"
+
+endmenu
+
diff --git a/drivers/media/dvb/Kconfig b/drivers/media/dvb/Kconfig
new file mode 100644
index 000000000000..5aba59f9e7eb
--- /dev/null
+++ b/drivers/media/dvb/Kconfig
@@ -0,0 +1,41 @@
+#
+# Multimedia device configuration
+#
+
+menu "Digital Video Broadcasting Devices"
+ depends on VIDEO_DEV!=n
+
+config DVB
+ bool "DVB For Linux"
+ ---help---
+ Support Digital Video Broadcasting hardware. Enable this if you
+ own a DVB adapter and want to use it or if you compile Linux for
+ a digital SetTopBox.
+
+ API specs and user tools and are available for example from
+ <http://www.linuxtv.org/>.
+
+ Please report problems regarding this driver to the LinuxDVB
+ mailing list.
+
+ You might want add the following lines to your /etc/modules.conf:
+
+ alias char-major-250 dvb
+ alias dvb dvb-ttpci
+ below dvb-ttpci alps_bsru6 alps_bsrv2 \
+ grundig_29504-401 grundig_29504-491 \
+ ves1820
+
+ If unsure say N.
+
+source "drivers/media/dvb/dvb-core/Kconfig"
+
+source "drivers/media/dvb/frontends/Kconfig"
+
+comment "Supported DVB Adapters"
+ depends on DVB
+
+source "drivers/media/dvb/av7110/Kconfig"
+
+endmenu
+
diff --git a/drivers/media/dvb/av7110/Kconfig b/drivers/media/dvb/av7110/Kconfig
new file mode 100644
index 000000000000..0e10ae13f511
--- /dev/null
+++ b/drivers/media/dvb/av7110/Kconfig
@@ -0,0 +1,26 @@
+config DVB_AV7110
+ tristate "SAA7146 based AV7110 and Nova/budget cards"
+ depends on VIDEO_DEV && DVB_CORE
+ help
+ Support for SAA7146 and AV7110 based DVB cards as produced
+ by Fujitsu-Siemens, Technotrend, Hauppauge and others.
+
+ Simple cards like so called Budget- or Nova-PCI cards are
+ supported as well as fullfeatured cards with onboard MPEG2
+ decoder.
+
+ Say Y if you own such a card and want to use it.
+
+config DVB_AV7110_OSD
+ bool "AV7110 OSD support"
+ depends on DVB_AV7110
+ help
+ The AV7110 firmware provides some code to generate an OnScreenDisplay
+ on the video output. This is kind of nonstandard and not guaranteed to
+ be maintained.
+
+ Anyway, some popular DVB software like VDR uses this OSD to render
+ its menus, so say Y if you want to use this software.
+
+ All other people say N.
+
diff --git a/drivers/media/dvb/dvb-core/Kconfig b/drivers/media/dvb/dvb-core/Kconfig
new file mode 100644
index 000000000000..c264b069c18b
--- /dev/null
+++ b/drivers/media/dvb/dvb-core/Kconfig
@@ -0,0 +1,17 @@
+config DVB_CORE
+ tristate "DVB Core Support"
+ depends on DVB
+ help
+ DVB core utility functions for device handling, software fallbacks etc.
+
+ Say Y when you have a DVB card and want to use it. If unsure say N.
+
+config DVB_DEVFS_ONLY
+ bool "devfs only"
+ depends on DVB_CORE=y && DEVFS_FS
+ help
+ Drop support for old major/minor device scheme and support only devfs
+ systems. This saves some code.
+
+ If unsure say N.
+
diff --git a/drivers/media/dvb/frontends/Kconfig b/drivers/media/dvb/frontends/Kconfig
new file mode 100644
index 000000000000..a4b18ed842c8
--- /dev/null
+++ b/drivers/media/dvb/frontends/Kconfig
@@ -0,0 +1,57 @@
+comment "Supported Frontend Modules"
+ depends on DVB
+
+config DVB_ALPS_BSRU6
+ tristate "Alps BSRU6 (QPSK)"
+ depends on DVB_CORE
+ help
+ A DVB-S tuner module.
+
+ Say Y when you want to support this frontend.
+
+ If you don't know what tuner module is soldered on your
+ DVB adapter simply enable all supported frontends, the
+ right one will get autodetected.
+
+config DVB_ALPS_BSRV2
+ tristate "Alps BSRV2 (QPSK)"
+ depends on DVB_CORE
+ help
+ A DVB-S tuner module. Say Y when you want to support this frontend.
+
+ If you don't know what tuner module is soldered on your
+ DVB adapter simply enable all supported frontends, the
+ right one will get autodetected.
+
+config DVB_GRUNDIG_29504_491
+ tristate "Grundig 29504-491 (QPSK)"
+ depends on DVB_CORE
+ help
+ A DVB-S tuner module. Say Y when you want to support this frontend.
+
+ If you don't know what tuner module is soldered on your
+ DVB adapter simply enable all supported frontends, the
+ right one will get autodetected.
+
+config DVB_GRUNDIG_29504_401
+ tristate "Grundig 29504-401 (OFDM)"
+ depends on DVB_CORE
+ help
+ A DVB-T tuner module. Say Y when you want to support this frontend.
+
+ If you don't know what tuner module is soldered on your
+ DVB adapter simply enable all supported frontends, the
+ right one will get autodetected.
+
+config DVB_VES1820
+ tristate "Frontends with external VES1820 demodulator (QAM)"
+ depends on DVB_CORE
+ help
+ The VES1820 Demodulator is used on many DVB-C PCI cards and in some
+ DVB-C SetTopBoxes. Say Y when you see this demodulator chip near your
+ tuner module.
+
+ If you don't know what tuner module is soldered on your
+ DVB adapter simply enable all supported frontends, the
+ right one will get autodetected.
+
diff --git a/drivers/media/radio/Kconfig b/drivers/media/radio/Kconfig
new file mode 100644
index 000000000000..d1c0e02d81f8
--- /dev/null
+++ b/drivers/media/radio/Kconfig
@@ -0,0 +1,367 @@
+#
+# Multimedia Video device configuration
+#
+
+menu "Radio Adapters"
+ depends on VIDEO_DEV!=n
+
+config RADIO_CADET
+ tristate "ADS Cadet AM/FM Tuner"
+ depends on ISA && VIDEO_DEV
+ ---help---
+ Choose Y here if you have one of these AM/FM radio cards, and then
+ fill in the port address below.
+
+ In order to control your radio card, you will need to use programs
+ that are compatible with the Video For Linux API. Information on
+ this API and pointers to "v4l" programs may be found on the WWW at
+ <http://roadrunner.swansea.uk.linux.org/v4l.shtml>.
+
+ Further documentation on this driver can be found on the WWW at
+ <http://linux.blackhawke.net/cadet.html>.
+
+ If you want to compile this driver as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called radio-cadet.o.
+
+config RADIO_RTRACK
+ tristate "AIMSlab RadioTrack (aka RadioReveal) support"
+ depends on ISA && VIDEO_DEV
+ ---help---
+ Choose Y here if you have one of these FM radio cards, and then fill
+ in the port address below.
+
+ Note that newer AIMSlab RadioTrack cards have a different chipset
+ and are not supported by this driver. For these cards, use the
+ RadioTrack II driver below.
+
+ If you have a GemTeks combined (PnP) sound- and radio card you must
+ use this driver as a module and setup the card with isapnptools.
+ You must also pass the module a suitable io parameter, 0x248 has
+ been reported to be used by these cards.
+
+ In order to control your radio card, you will need to use programs
+ that are compatible with the Video For Linux API. Information on
+ this API and pointers to "v4l" programs may be found on the WWW at
+ <http://roadrunner.swansea.uk.linux.org/v4l.shtml>. More
+ information is contained in the file
+ <file:Documentation/video4linux/radiotrack.txt>.
+
+ If you want to compile this driver as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called radio-aimslab.o.
+
+config RADIO_RTRACK_PORT
+ hex "RadioTrack i/o port (0x20f or 0x30f)"
+ depends on RADIO_RTRACK=y
+ default "20f"
+ help
+ Enter either 0x30f or 0x20f here. The card default is 0x30f, if you
+ haven't changed the jumper setting on the card.
+
+config RADIO_RTRACK2
+ tristate "AIMSlab RadioTrack II support"
+ depends on ISA && VIDEO_DEV
+ ---help---
+ Choose Y here if you have this FM radio card, and then fill in the
+ port address below.
+
+ In order to control your radio card, you will need to use programs
+ that are compatible with the Video For Linux API. Information on
+ this API and pointers to "v4l" programs may be found on the WWW at
+ <http://roadrunner.swansea.uk.linux.org/v4l.shtml>.
+
+ If you want to compile this driver as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called radio-rtrack2.o.
+
+config RADIO_RTRACK2_PORT
+ hex "RadioTrack II i/o port (0x20c or 0x30c)"
+ depends on RADIO_RTRACK2=y
+ default "30c"
+ help
+ Enter either 0x30c or 0x20c here. The card default is 0x30c, if you
+ haven't changed the jumper setting on the card.
+
+config RADIO_AZTECH
+ tristate "Aztech/Packard Bell Radio"
+ depends on ISA && VIDEO_DEV
+ ---help---
+ Choose Y here if you have one of these FM radio cards, and then fill
+ in the port address below.
+
+ In order to control your radio card, you will need to use programs
+ that are compatible with the Video For Linux API. Information on
+ this API and pointers to "v4l" programs may be found on the WWW at
+ <http://roadrunner.swansea.uk.linux.org/v4l.shtml>.
+
+ If you want to compile this driver as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called radio-aztech.o.
+
+config RADIO_AZTECH_PORT
+ hex "Aztech/Packard Bell I/O port (0x350 or 0x358)"
+ depends on RADIO_AZTECH=y
+ default "350"
+ help
+ Enter either 0x350 or 0x358 here. The card default is 0x350, if you
+ haven't changed the setting of jumper JP3 on the card. Removing the
+ jumper sets the card to 0x358.
+
+config RADIO_GEMTEK
+ tristate "GemTek Radio Card support"
+ depends on ISA && VIDEO_DEV
+ ---help---
+ Choose Y here if you have this FM radio card, and then fill in the
+ port address below.
+
+ In order to control your radio card, you will need to use programs
+ that are compatible with the Video For Linux API. Information on
+ this API and pointers to "v4l" programs may be found on the WWW at
+ <http://roadrunner.swansea.uk.linux.org/v4l.shtml>.
+
+ If you want to compile this driver as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called radio-gemtek.o.
+
+config RADIO_GEMTEK_PORT
+ hex "GemTek i/o port (0x20c, 0x30c, 0x24c or 0x34c)"
+ depends on RADIO_GEMTEK=y
+ default "34c"
+ help
+ Enter either 0x20c, 0x30c, 0x24c or 0x34c here. The card default is
+ 0x34c, if you haven't changed the jumper setting on the card. On
+ Sound Vision 16 Gold PnP with FM Radio (ESS1869+FM Gemtek), the I/O
+ port is 0x28c.
+
+config RADIO_GEMTEK_PCI
+ tristate "GemTek PCI Radio Card support"
+ depends on VIDEO_DEV && PCI
+ ---help---
+ Choose Y here if you have this PCI FM radio card.
+
+ In order to control your radio card, you will need to use programs
+ that are compatible with the Video for Linux API. Information on
+ this API and pointers to "v4l" programs may be found on the WWW at
+ <http://roadrunner.swansea.uk.linux.org/v4l.shtml>.
+
+ If you want to compile this driver as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called radio-gemtek-pci.o.
+
+config RADIO_MAXIRADIO
+ tristate "Guillemot MAXI Radio FM 2000 radio"
+ depends on VIDEO_DEV
+ ---help---
+ Choose Y here if you have this radio card. This card may also be
+ found as Gemtek PCI FM.
+
+ In order to control your radio card, you will need to use programs
+ that are compatible with the Video For Linux API. Information on
+ this API and pointers to "v4l" programs may be found on the WWW at
+ <http://roadrunner.swansea.uk.linux.org/v4l.shtml>.
+
+ If you want to compile this driver as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called radio-maxiradio.o.
+
+config RADIO_MAESTRO
+ tristate "Maestro on board radio"
+ depends on VIDEO_DEV
+ ---help---
+ Say Y here to directly support the on-board radio tuner on the
+ Maestro 2 or 2E sound card.
+
+ In order to control your radio card, you will need to use programs
+ that are compatible with the Video For Linux API. Information on
+ this API and pointers to "v4l" programs may be found on the WWW at
+ <http://roadrunner.swansea.uk.linux.org/v4l.shtml>.
+
+ If you want to compile this driver as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called radio-maestro.o.
+
+config RADIO_MIROPCM20
+ tristate "miroSOUND PCM20 radio"
+ depends on ISA && VIDEO_DEV && SOUND_ACI_MIXER
+ ---help---
+ Choose Y here if you have this FM radio card. You also need to say Y
+ to "ACI mixer (miroSOUND PCM1-pro/PCM12/PCM20 radio)" (in "Sound")
+ for this to work.
+
+ In order to control your radio card, you will need to use programs
+ that are compatible with the Video For Linux API. Information on
+ this API and pointers to "v4l" programs may be found on the WWW at
+ <http://roadrunner.swansea.uk.linux.org/v4l.shtml>.
+
+ If you want to compile this driver as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called miropcm20.o.
+
+config RADIO_MIROPCM20_RDS
+ tristate "miroSOUND PCM20 radio RDS user interface (EXPERIMENTAL)"
+ depends on RADIO_MIROPCM20 && EXPERIMENTAL
+ ---help---
+ Choose Y here if you want to see RDS/RBDS information like
+ RadioText, Programme Service name, Clock Time and date, Programme
+ TYpe and Traffic Announcement/Programme identification. You also
+ need to say Y to "miroSOUND PCM20 radio" and devfs!
+
+ It's not possible to read the raw RDS packets from the device, so
+ the driver cant provide an V4L interface for this. But the
+ availability of RDS is reported over V4L by the basic driver
+ already. Here RDS can be read from files in /dev/v4l/rds.
+
+ As module the driver will be called miropcm20-rds.o.
+
+config RADIO_SF16FMI
+ tristate "SF16FMI Radio"
+ depends on ISA && VIDEO_DEV
+ ---help---
+ Choose Y here if you have one of these FM radio cards. If you
+ compile the driver into the kernel and your card is not PnP one, you
+ have to add "sf16fm=<io>" to the kernel command line (I/O address is
+ 0x284 or 0x384).
+
+ In order to control your radio card, you will need to use programs
+ that are compatible with the Video For Linux API. Information on
+ this API and pointers to "v4l" programs may be found on the WWW at
+ <http://roadrunner.swansea.uk.linux.org/v4l.shtml>.
+
+ If you want to compile this driver as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called radio-sf16fmi.o.
+
+config RADIO_TERRATEC
+ tristate "TerraTec ActiveRadio ISA Standalone"
+ depends on ISA && VIDEO_DEV
+ ---help---
+ Choose Y here if you have this FM radio card, and then fill in the
+ port address below. (TODO)
+
+ Note: This driver is in its early stages. Right now volume and
+ frequency control and muting works at least for me, but
+ unfortunately I have not found anybody who wants to use this card
+ with Linux. So if it is this what YOU are trying to do right now,
+ PLEASE DROP ME A NOTE!! Rolf Offermanns (rolf@offermanns.de)
+
+ In order to control your radio card, you will need to use programs
+ that are compatible with the Video For Linux API. Information on
+ this API and pointers to "v4l" programs may be found on the WWW at
+ <http://roadrunner.swansea.uk.linux.org/v4l.shtml>.
+
+ If you want to compile this driver as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called radio-terratec.o.
+
+config RADIO_TERRATEC_PORT
+ hex "Terratec i/o port (normally 0x590)"
+ depends on RADIO_TERRATEC=y
+ default "590"
+ help
+ Fill in the I/O port of your TerraTec FM radio card. If unsure, go
+ with the default.
+
+config RADIO_TRUST
+ tristate "Trust FM radio card"
+ depends on ISA && VIDEO_DEV
+ help
+ This is a driver for the Trust FM radio cards. Say Y if you have
+ such a card and want to use it under Linux.
+
+ This driver is also available as a module called radio-trust.o ( =
+ code which can be inserted in and removed from the running kernel
+ whenever you want). If you want to compile it as a module, say M
+ here and read <file:Documentation/modules.txt>.
+
+config RADIO_TRUST_PORT
+ hex "Trust i/o port (usually 0x350 or 0x358)"
+ depends on RADIO_TRUST=y
+ default "350"
+ help
+ Enter the I/O port of your Trust FM radio card. If unsure, try the
+ values "0x350" or "0x358".
+
+config RADIO_TYPHOON
+ tristate "Typhoon Radio (a.k.a. EcoRadio)"
+ depends on ISA && VIDEO_DEV
+ ---help---
+ Choose Y here if you have one of these FM radio cards, and then fill
+ in the port address and the frequency used for muting below.
+
+ In order to control your radio card, you will need to use programs
+ that are compatible with the Video For Linux API. Information on
+ this API and pointers to "v4l" programs may be found on the WWW at
+ <http://roadrunner.swansea.uk.linux.org/v4l.shtml>.
+
+ If you want to compile this driver as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called radio-typhoon.o.
+
+config RADIO_TYPHOON_PROC_FS
+ bool "Support for /proc/radio-typhoon"
+ depends on PROC_FS && RADIO_TYPHOON
+ help
+ Say Y here if you want the typhoon radio card driver to write
+ status information (frequency, volume, muted, mute frequency,
+ base address) to /proc/radio-typhoon. The file can be viewed with
+ your favorite pager (i.e. use "more /proc/radio-typhoon" or "less
+ /proc/radio-typhoon" or simply "cat /proc/radio-typhoon").
+
+config RADIO_TYPHOON_PORT
+ hex "Typhoon I/O port (0x316 or 0x336)"
+ depends on RADIO_TYPHOON=y
+ default "316"
+ help
+ Enter the I/O port of your Typhoon or EcoRadio radio card.
+
+config RADIO_TYPHOON_MUTEFREQ
+ int "Typhoon frequency set when muting the device (kHz)"
+ depends on RADIO_TYPHOON=y
+ default "87500"
+ help
+ Enter the frequency used for muting the radio. The device is never
+ completely silent. If the volume is just turned down, you can still
+ hear silent voices and music. For that reason, the frequency of the
+ radio device is set to the frequency you can enter here whenever
+ the device is muted. There should be no local radio station at that
+ frequency.
+
+config RADIO_ZOLTRIX
+ tristate "Zoltrix Radio"
+ depends on ISA && VIDEO_DEV
+ ---help---
+ Choose Y here if you have one of these FM radio cards, and then fill
+ in the port address below.
+
+ In order to control your radio card, you will need to use programs
+ that are compatible with the Video For Linux API. Information on
+ this API and pointers to "v4l" programs may be found on the WWW at
+ <http://roadrunner.swansea.uk.linux.org/v4l.shtml>.
+
+ If you want to compile this driver as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called radio-zoltrix.o.
+
+config RADIO_ZOLTRIX_PORT
+ hex "ZOLTRIX I/O port (0x20c or 0x30c)"
+ depends on RADIO_ZOLTRIX=y
+ default "20c"
+ help
+ Enter the I/O port of your Zoltrix radio card.
+
+endmenu
+
diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig
new file mode 100644
index 000000000000..b4a2a5b5b073
--- /dev/null
+++ b/drivers/media/video/Kconfig
@@ -0,0 +1,216 @@
+#
+# Multimedia Video device configuration
+#
+
+menu "Video For Linux"
+ depends on VIDEO_DEV!=n
+
+config VIDEO_PROC_FS
+ bool "V4L information in proc filesystem"
+ depends on PROC_FS
+ help
+ If you say Y here, you are able to access video device information
+ in /proc/video.
+
+ To use this option, you have to check, that the "/proc file system
+ support" (CONFIG_PROC_FS) is enabled too.
+
+comment "Video Adapters"
+
+config VIDEO_BT848
+ tristate "BT848 Video For Linux"
+ depends on VIDEO_DEV && PCI && I2C_ALGOBIT
+ ---help---
+ Support for BT848 based frame grabber/overlay boards. This includes
+ the Miro, Hauppauge and STB boards. Please read the material in
+ <file:Documentation/video4linux/bttv> for more information.
+
+ If you say Y or M here, you need to say Y or M to "I2C support" and
+ "I2C bit-banging interfaces" in the character device section.
+
+ This driver is available as a module called bttv.o ( = code
+ which can be inserted in and removed from the running kernel
+ whenever you want). If you want to compile it as a module, say M
+ here and read <file:Documentation/modules.txt>.
+
+config VIDEO_PMS
+ tristate "Mediavision Pro Movie Studio Video For Linux"
+ depends on VIDEO_DEV
+ help
+ Say Y if you have such a thing. This driver is also available as a
+ module called pms.o ( = code which can be inserted in and removed
+ from the running kernel whenever you want). If you want to compile
+ it as a module, say M here and read
+ <file:Documentation/modules.txt>.
+
+config VIDEO_PLANB
+ tristate "PlanB Video-In on PowerMac"
+ depends on ALL_PPC && VIDEO_DEV
+ help
+ PlanB is the V4L driver for the PowerMac 7x00/8x00 series video
+ input hardware. If you want to experiment with this, say Y.
+ Otherwise, or if you don't understand a word, say N.
+ See <http://www.cpu.lu/~mlan/planb.html> for more info.
+
+ Saying M will compile this driver as a module (planb.o).
+
+config VIDEO_BWQCAM
+ tristate "Quickcam BW Video For Linux"
+ depends on VIDEO_DEV && PARPORT
+ help
+ Say Y have if you the black and white version of the QuickCam
+ camera. See the next option for the color version.
+
+ This driver is also available as a module called bw-qcam.o ( = code
+ which can be inserted in and removed from the running kernel
+ whenever you want). If you want to compile it as a module, say M
+ here and read <file:Documentation/modules.txt>.
+
+config VIDEO_CQCAM
+ tristate "QuickCam Colour Video For Linux (EXPERIMENTAL)"
+ depends on EXPERIMENTAL && VIDEO_DEV && PARPORT
+ help
+ This is the video4linux driver for the colour version of the
+ Connectix QuickCam. If you have one of these cameras, say Y here,
+ otherwise say N. This driver does not work with the original
+ monochrome QuickCam, QuickCam VC or QuickClip. It is also available
+ as a module (c-qcam.o).
+ Read <file:Documentation/video4linux/CQcam.txt> for more information.
+
+config VIDEO_W9966
+ tristate "W9966CF Webcam (FlyCam Supra and others) Video For Linux"
+ depends on PARPORT_1284 && VIDEO_DEV && PARPORT
+ help
+ Video4linux driver for Winbond's w9966 based Webcams.
+ Currently tested with the LifeView FlyCam Supra.
+ If you have one of these cameras, say Y here
+ otherwise say N.
+ This driver is also available as a module (w9966.o).
+
+ Check out <file:Documentation/video4linux/w9966.txt> for more
+ information.
+
+config VIDEO_CPIA
+ tristate "CPiA Video For Linux"
+ depends on VIDEO_DEV
+ ---help---
+ This is the video4linux driver for cameras based on Vision's CPiA
+ (Colour Processor Interface ASIC), such as the Creative Labs Video
+ Blaster Webcam II. If you have one of these cameras, say Y here
+ and select parallel port and/or USB lowlevel support below,
+ otherwise say N. This will not work with the Creative Webcam III.
+
+ Please read <file:Documentation/video4linux/README.cpia> for more
+ information.
+
+ This driver is also available as a module (cpia.o).
+
+config VIDEO_CPIA_PP
+ tristate "CPiA Parallel Port Lowlevel Support"
+ depends on PARPORT_1284 && VIDEO_CPIA && PARPORT
+ help
+ This is the lowlevel parallel port support for cameras based on
+ Vision's CPiA (Colour Processor Interface ASIC), such as the
+ Creative Webcam II. If you have the parallel port version of one
+ of these cameras, say Y here, otherwise say N. It is also available
+ as a module (cpia_pp.o).
+
+config VIDEO_CPIA_USB
+ tristate "CPiA USB Lowlevel Support"
+ depends on VIDEO_CPIA && USB
+ help
+ This is the lowlevel USB support for cameras based on Vision's CPiA
+ (Colour Processor Interface ASIC), such as the Creative Webcam II.
+ If you have the USB version of one of these cameras, say Y here,
+ otherwise say N. This will not work with the Creative Webcam III.
+ It is also available as a module (cpia_usb.o).
+
+config VIDEO_SAA5249
+ tristate "SAA5249 Teletext processor"
+ depends on VIDEO_DEV && I2C
+ help
+ Support for I2C bus based teletext using the SAA5249 chip. At the
+ moment this is only useful on some European WinTV cards.
+
+ This driver is also available as a module called saa5249.o ( = code
+ which can be inserted in and removed from the running kernel
+ whenever you want). If you want to compile it as a module, say M
+ here and read <file:Documentation/modules.txt>.
+
+config TUNER_3036
+ tristate "SAB3036 tuner"
+ depends on VIDEO_DEV && I2C
+ help
+ Say Y here to include support for Philips SAB3036 compatible tuners.
+ If in doubt, say N.
+
+config VIDEO_VINO
+ tristate "SGI Vino Video For Linux (EXPERIMENTAL)"
+ depends on EXPERIMENTAL && VIDEO_DEV && SGI
+ help
+ Say Y here to build in support for the Vino video input system found
+ on SGI Indy machines.
+
+config VIDEO_STRADIS
+ tristate "Stradis 4:2:2 MPEG-2 video driver (EXPERIMENTAL)"
+ depends on EXPERIMENTAL && VIDEO_DEV && PCI
+ help
+ Say Y here to enable support for the Stradis 4:2:2 MPEG-2 video
+ driver for PCI. There is a product page at
+ <http://www.stradis.com/decoder.html>.
+
+config VIDEO_ZORAN
+ tristate "Zoran ZR36057/36060 Video For Linux"
+ depends on VIDEO_DEV && PCI && I2C
+ help
+ Say Y here to include support for video cards based on the Zoran
+ ZR36057/36060 encoder/decoder chip (including the Iomega Buz and the
+ Miro DC10 and DC30 video capture cards).
+
+config VIDEO_ZORAN_BUZ
+ tristate "Iomega Buz support"
+ depends on VIDEO_ZORAN
+ help
+ Say Y here to include support for the Iomega Buz video card. There
+ is a Buz/Linux homepage at <http://www.lysator.liu.se/~gz/buz/>.
+
+config VIDEO_ZORAN_DC10
+ tristate "Miro DC10(+) support"
+ depends on VIDEO_ZORAN
+
+config VIDEO_ZORAN_LML33
+ tristate "Linux Media Labs LML33 support"
+ depends on VIDEO_ZORAN
+
+config VIDEO_ZR36120
+ tristate "Zoran ZR36120/36125 Video For Linux"
+ depends on VIDEO_DEV && PCI && I2C
+ help
+ Support for ZR36120/ZR36125 based frame grabber/overlay boards.
+ This includes the Victor II, WaveWatcher, Video Wonder, Maxi-TV,
+ and Buster boards. Please read the material in
+ <file:Documentation/video4linux/zr36120.txt> for more information.
+
+ This driver is also available as a module called zr36120.o ( = code
+ which can be inserted in and removed from the running kernel
+ whenever you want). If you want to compile it as a module, say M
+ here and read <file:Documentation/modules.txt>.
+
+config VIDEO_MEYE
+ tristate "Sony Vaio Picturebook Motion Eye Video For Linux (EXPERIMENTAL)"
+ depends on VIDEO_DEV && SONYPI
+ ---help---
+ This is the video4linux driver for the Motion Eye camera found
+ in the Vaio Picturebook laptops. Please read the material in
+ <file:Documentation/video4linux/meye.txt> for more information.
+
+ If you say Y or M here, you need to say Y or M to "Sony Programmable
+ I/O Control Device" in the character device section.
+
+ This driver is available as a module called meye.o ( = code
+ which can be inserted in and removed from the running kernel
+ whenever you want). If you want to compile it as a module, say M
+ here and read <file:Documentation/modules.txt>.
+
+endmenu
+
diff --git a/drivers/message/fusion/Kconfig b/drivers/message/fusion/Kconfig
new file mode 100644
index 000000000000..e482a6b7ca9e
--- /dev/null
+++ b/drivers/message/fusion/Kconfig
@@ -0,0 +1,152 @@
+
+menu "Fusion MPT device support"
+
+config FUSION
+ tristate "Fusion MPT (base + ScsiHost) drivers"
+ depends on BLK_DEV_SD
+ ---help---
+ LSI Logic Fusion(TM) Message Passing Technology (MPT) device support
+ provides high performance SCSI host initiator, and LAN [1] interface
+ services to a host system. The Fusion architecture is capable of
+ duplexing these protocols on high-speed Fibre Channel
+ (up to 2 GHz x 2 ports = 4 GHz) and parallel SCSI (up to Ultra-320)
+ physical medium.
+
+ [1] LAN is not supported on parallel SCSI medium.
+
+ These drivers require a Fusion MPT compatible PCI adapter installed
+ in the host system. MPT adapters contain specialized I/O processors
+ to handle I/O workload, and more importantly to offload this work
+ from the host CPU(s).
+
+ If you have Fusion MPT hardware and want to use it, you can say
+ Y or M here to add MPT (base + ScsiHost) drivers.
+ <Y> = build lib (fusion.o), and link [static] into the kernel [2]
+ proper
+ <M> = compiled as [dynamic] modules [3] named: (mptbase.o,
+ mptscsih.o)
+
+ [2] In order enable capability to boot the linux kernel
+ natively from a Fusion MPT target device, you MUST
+ answer Y here! (currently requires CONFIG_BLK_DEV_SD)
+ [3] This support is also available as a module ( = code
+ which can be inserted in and removed from the running
+ kernel whenever you want). If you want to compile as
+ modules, say M here and read
+ <file:Documentation/modules.txt>.
+
+ If unsure, say N.
+
+ If you say Y or M here you will get a choice of these
+ additional protocol and support module options: Module Name:
+ <M> Enhanced SCSI error reporting (isense.o)
+ <M> Fusion MPT misc device (ioctl) driver (mptctl.o)
+ <M> Fusion MPT LAN driver (mptlan.o)
+
+ ---
+ Fusion MPT is trademark of LSI Logic Corporation, and its
+ architecture is based on LSI Logic's Message Passing Interface (MPI)
+ specification.
+
+config FUSION_BOOT
+ bool
+ depends on FUSION=y
+ default y
+
+config FUSION_MAX_SGE
+ int "Maximum number of scatter gather entries"
+ depends on FUSION
+ default "40"
+ help
+ This option allows you to specify the maximum number of scatter-
+ gather entries per I/O. The driver defaults to 40, a reasonable number
+ for most systems. However, the user may increase this up to 128.
+ Increasing this parameter will require significantly more memory
+ on a per controller instance. Increasing the parameter is not
+ necessary (or recommended) unless the user will be running
+ large I/O's via the raw interface.
+
+# How can we force these options to module or nothing?
+config FUSION_ISENSE
+ tristate "Enhanced SCSI error reporting"
+ depends on MODULES && FUSION && m
+ ---help---
+ The isense module (roughly stands for Interpret SENSE data) is
+ completely optional. It simply provides extra English readable
+ strings in SCSI Error Report(s) that might be generated from the
+ Fusion MPT SCSI Host driver, for example when a target device
+ returns a SCSI check condition on a I/O. Without this module
+ loaded you might see:
+
+ SCSI Error Report =-=-= (ioc0,scsi5:0)
+ SCSI_Status=02h (CHECK_CONDITION)
+ Original_CDB[]: 2A 00 00 00 00 41 00 00 02 00
+ SenseData[12h]: 70 00 02 00 00 00 00 0A 00 00 00 00 04 02 02 00 00 00
+ SenseKey=2h (NOT READY); FRU=02h
+ ASC/ASCQ=29h/00h
+
+ Where otherwise, if this module had been loaded, you would see:
+
+ SCSI Error Report =-=-= (ioc0,scsi5:0)
+ SCSI_Status=02h (CHECK_CONDITION)
+ Original_CDB[]: 2A 00 00 00 00 41 00 00 02 00 - "WRITE(10)"
+ SenseData[12h]: 70 00 02 00 00 00 00 0A 00 00 00 00 04 02 02 00 00 00
+ SenseKey=2h (NOT READY); FRU=02h
+ ASC/ASCQ=29h/00h "LOGICAL UNIT NOT READY, INITIALIZING CMD. REQUIRED"
+
+ Say M for "Enhanced SCSI error reporting" to compile this optional module,
+ creating a driver named: isense.o.
+
+ NOTE: Support for building this feature into the kernel is not
+ available, due to kernel size considerations.
+
+config FUSION_CTL
+ tristate "Fusion MPT misc device (ioctl) driver"
+ depends on MODULES && FUSION && m
+ ---help---
+ The Fusion MPT misc device driver provides specialized control
+ of MPT adapters via system ioctl calls. Use of ioctl calls to
+ the MPT driver requires that you create and use a misc device
+ node ala:
+ mknod /dev/mptctl c 10 240
+
+ One use of this ioctl interface is to perform an upgrade (reflash)
+ of the MPT adapter firmware. Refer to readme file(s) distributed
+ with the Fusion MPT linux driver for additional details.
+
+ If enabled by saying M to this, a driver named: mptctl.o
+ will be compiled.
+
+ If unsure whether you really want or need this, say N.
+
+config FUSION_LAN
+ tristate "Fusion MPT LAN driver"
+ depends on FUSION && NET_FC
+ ---help---
+ This module supports LAN IP traffic over Fibre Channel port(s)
+ on Fusion MPT compatible hardware (LSIFC9xx chips).
+ The physical interface used is defined in RFC 2625.
+ Please refer to that document for details.
+
+ Installing this driver requires the knowledge to configure and
+ activate a new network interface, "fc0", using standard Linux tools.
+
+ If enabled by saying M to this, a driver named: mptlan.o
+ will be compiled.
+
+ If unsure whether you really want or need this, say N.
+
+ NOTES: This feature is NOT available nor supported for linux-2.2.x
+ kernels. You must be building a linux-2.3.x or linux-2.4.x kernel
+ in order to configure this option.
+ Support for building this feature into the linux kernel is not
+ yet available.
+
+# if [ "$CONFIG_FUSION_LAN" != "n" ]; then
+# define_bool CONFIG_NET_FC y
+# fi
+# These <should> be define_tristate, but we leave them define_bool
+# for backward compatibility with pre-linux-2.2.15 kernels.
+# (Bugzilla:fibrebugs, #384)
+endmenu
+
diff --git a/drivers/message/i2o/Kconfig b/drivers/message/i2o/Kconfig
new file mode 100644
index 000000000000..3b7a061de441
--- /dev/null
+++ b/drivers/message/i2o/Kconfig
@@ -0,0 +1,93 @@
+
+menu "I2O device support"
+
+config I2O
+ tristate "I2O support"
+ ---help---
+ The Intelligent Input/Output (I2O) architecture allows hardware
+ drivers to be split into two parts: an operating system specific
+ module called the OSM and an hardware specific module called the
+ HDM. The OSM can talk to a whole range of HDM's, and ideally the
+ HDM's are not OS dependent. This allows for the same HDM driver to
+ be used under different operating systems if the relevant OSM is in
+ place. In order for this to work, you need to have an I2O interface
+ adapter card in your computer. This card contains a special I/O
+ processor (IOP), thus allowing high speeds since the CPU does not
+ have to deal with I/O.
+
+ If you say Y here, you will get a choice of interface adapter
+ drivers and OSM's with the following questions.
+
+ This support is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. You will get modules called
+ i2o_core.o and i2o_config.o.
+
+ If unsure, say N.
+
+config I2O_PCI
+ tristate "I2O PCI support"
+ depends on PCI && I2O
+ help
+ Say Y for support of PCI bus I2O interface adapters. Currently this
+ is the only variety supported, so you should say Y.
+
+ This support is also available as a module called i2o_pci.o ( = code
+ which can be inserted in and removed from the running kernel
+ whenever you want). If you want to compile it as a module, say M
+ here and read <file:Documentation/modules.txt>.
+
+config I2O_BLOCK
+ tristate "I2O Block OSM"
+ depends on I2O
+ help
+ Include support for the I2O Block OSM. The Block OSM presents disk
+ and other structured block devices to the operating system.
+
+ This support is also available as a module called i2o_block.o ( =
+ code which can be inserted in and removed from the running kernel
+ whenever you want). If you want to compile it as a module, say M
+ here and read <file:Documentation/modules.txt>.
+
+config I2O_LAN
+ tristate "I2O LAN OSM"
+ depends on NET && I2O
+ help
+ Include support for the LAN OSM. You will also need to include
+ support for token ring or FDDI if you wish to use token ring or FDDI
+ I2O cards with this driver.
+
+ This support is also available as a module called i2o_lan.o ( = code
+ which can be inserted in and removed from the running kernel
+ whenever you want). If you want to compile it as a module, say M
+ here and read <file:Documentation/modules.txt>.
+
+config I2O_SCSI
+ tristate "I2O SCSI OSM"
+ depends on I2O && SCSI
+ help
+ Allows direct SCSI access to SCSI devices on a SCSI or FibreChannel
+ I2O controller. You can use both the SCSI and Block OSM together if
+ you wish.
+
+ This support is also available as a module called i2o_scsi.o ( =
+ code which can be inserted in and removed from the running kernel
+ whenever you want). If you want to compile it as a module, say M
+ here and read <file:Documentation/modules.txt>.
+
+config I2O_PROC
+ tristate "I2O /proc support"
+ depends on I2O
+ help
+ If you say Y here and to "/proc file system support", you will be
+ able to read I2O related information from the virtual directory
+ /proc/i2o.
+
+ This support is also available as a module called i2o_proc.o ( =
+ code which can be inserted in and removed from the running kernel
+ whenever you want). If you want to compile it as a module, say M
+ here and read <file:Documentation/modules.txt>.
+
+endmenu
+
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
new file mode 100644
index 000000000000..12c5631bafde
--- /dev/null
+++ b/drivers/misc/Kconfig
@@ -0,0 +1,8 @@
+#
+# Misc strange devices
+#
+
+menu "Misc devices"
+
+endmenu
+
diff --git a/drivers/mtd/Kconfig b/drivers/mtd/Kconfig
new file mode 100644
index 000000000000..692d7b991124
--- /dev/null
+++ b/drivers/mtd/Kconfig
@@ -0,0 +1,219 @@
+# $Id: Config.in,v 1.74 2002/04/23 13:52:14 mag Exp $
+
+menu "Memory Technology Devices (MTD)"
+
+config MTD
+ tristate "Memory Technology Device (MTD) support"
+ help
+ Memory Technology Devices are flash, RAM and similar chips, often
+ used for solid state file systems on embedded devices. This option
+ will provide the generic support for MTD drivers to register
+ themselves with the kernel and for potential users of MTD devices
+ to enumerate the devices which are present and obtain a handle on
+ them. It will also allow you to select individual drivers for
+ particular hardware and users of MTD devices. If unsure, say N.
+
+config MTD_DEBUG
+ bool "Debugging"
+ depends on MTD
+ help
+ This turns on low-level debugging for the entire MTD sub-system.
+ Normally, you should say 'N'.
+
+config MTD_DEBUG_VERBOSE
+ int "Debugging verbosity (0 = quiet, 3 = noisy)"
+ depends on MTD_DEBUG
+ default "0"
+ help
+ Determines the verbosity level of the MTD debugging messages.
+
+config MTD_PARTITIONS
+ tristate "MTD partitioning support"
+ depends on MTD
+ help
+ If you have a device which needs to divide its flash chip(s) up
+ into multiple 'partitions', each of which appears to the user as
+ a separate MTD device, you require this option to be enabled. If
+ unsure, say 'Y'.
+
+ Note, however, that you don't need this option for the DiskOnChip
+ devices. Partitioning on NFTL 'devices' is a different - that's the
+ 'normal' form of partitioning used on a block device.
+
+config MTD_CONCAT
+ tristate "MTD concatenating support"
+ depends on MTD
+ help
+ Support for concatenating several MTD devices into a single
+ (virtual) one. This allows you to have -for example- a JFFS(2)
+ file system spanning multiple physical flash chips. If unsure,
+ say 'Y'.
+
+config MTD_REDBOOT_PARTS
+ tristate "RedBoot partition table parsing"
+ depends on MTD_PARTITIONS
+ ---help---
+ RedBoot is a ROM monitor and bootloader which deals with multiple
+ 'images' in flash devices by putting a table in the last erase
+ block of the device, similar to a partition table, which gives
+ the offsets, lengths and names of all the images stored in the
+ flash.
+
+ If you need code which can detect and parse this table, and register
+ MTD 'partitions' corresponding to each image in the table, enable
+ this option.
+
+ You will still need the parsing functions to be called by the driver
+ for your particular device. It won't happen automatically. The
+ SA1100 map driver (CONFIG_MTD_SA1100) has an option for this, for
+ example.
+
+config MTD_CMDLINE_PARTS
+ tristate "Command line partition table parsing"
+ depends on MTD_PARTITIONS
+ ---help---
+ Allow generic configuration of the MTD paritition tables via the kernel
+ command line. Multiple flash resources are supported for hardware where
+ different kinds of flash memory are available.
+
+ You will still need the parsing functions to be called by the driver
+ for your particular device. It won't happen automatically. The
+ SA1100 map driver (CONFIG_MTD_SA1100) has an option for this, for
+ example.
+
+ The format for the command line is as follows:
+
+ mtdparts=<mtddef>[;<mtddef]
+ <mtddef> := <mtd-id>:<partdef>[,<partdef>]
+ <partdef> := <size>[@offset][<name>][ro]
+ <mtd-id> := unique id used in mapping driver/device
+ <size> := standard linux memsize OR "-" to denote all
+ remaining space
+ <name> := (NAME)
+
+ Due to the way Linux handles the command line, no spaces are
+ allowed in the partition definition, including mtd id's and partition
+ names.
+
+ Examples:
+
+ 1 flash resource (mtd-id "sa1100"), with 1 single writable partition:
+ mtdparts=sa1100:-
+
+ Same flash, but 2 named partitions, the first one being read-only:
+ mtdparts=sa1100:256k(ARMboot)ro,-(root)
+
+ If unsure, say 'N'.
+
+config MTD_AFS_PARTS
+ tristate "ARM Firmware Suite partition parsing"
+ depends on ARM && MTD_PARTITIONS
+ ---help---
+ The ARM Firmware Suite allows the user to divide flash devices into
+ multiple 'images'. Each such image has a header containing its name
+ and offset/size etc.
+
+ If you need code which can detect and parse these tables, and
+ register MTD 'partitions' corresponding to each image detected,
+ enable this option.
+
+ You will still need the parsing functions to be called by the driver
+ for your particular device. It won't happen automatically. The
+ 'armflash' map driver (CONFIG_MTD_ARMFLASH) does this, for example.
+
+comment "User Modules And Translation Layers"
+ depends on MTD
+
+config MTD_CHAR
+ tristate "Direct char device access to MTD devices"
+ depends on MTD
+ help
+ This provides a character device for each MTD device present in
+ the system, allowing the user to read and write directly to the
+ memory chips, and also use ioctl() to obtain information about
+ the device, or to erase parts of it.
+
+config MTD_BLOCK
+ tristate "Caching block device access to MTD devices"
+ depends on MTD
+ ---help---
+ Although most flash chips have an erase size too large to be useful
+ as block devices, it is possible to use MTD devices which are based
+ on RAM chips in this manner. This block device is a user of MTD
+ devices performing that function.
+
+ At the moment, it is also required for the Journalling Flash File
+ System(s) to obtain a handle on the MTD device when it's mounted
+ (although JFFS and JFFS2 don't actually use any of the functionality
+ of the mtdblock device).
+
+ Later, it may be extended to perform read/erase/modify/write cycles
+ on flash chips to emulate a smaller block size. Needless to say,
+ this is very unsafe, but could be useful for file systems which are
+ almost never written to.
+
+ You do not need this option for use with the DiskOnChip devices. For
+ those, enable NFTL support (CONFIG_NFTL) instead.
+
+config MTD_BLOCK_RO
+ tristate "Readonly block device access to MTD devices"
+ depends on MTD_BLOCK!=y && MTD
+ help
+ This allows you to mount read-only file systems (such as cramfs)
+ from an MTD device, without the overhead (and danger) of the caching
+ driver.
+
+ You do not need this option for use with the DiskOnChip devices. For
+ those, enable NFTL support (CONFIG_NFTL) instead.
+
+config FTL
+ tristate "FTL (Flash Translation Layer) support"
+ depends on MTD
+ ---help---
+ This provides support for the original Flash Translation Layer which
+ is part of the PCMCIA specification. It uses a kind of pseudo-
+ file system on a flash device to emulate a block device with
+ 512-byte sectors, on top of which you put a 'normal' file system.
+
+ You may find that the algorithms used in this code are patented
+ unless you live in the Free World where software patents aren't
+ legal - in the USA you are only permitted to use this on PCMCIA
+ hardware, although under the terms of the GPL you're obviously
+ permitted to copy, modify and distribute the code as you wish. Just
+ not use it.
+
+config NFTL
+ tristate "NFTL (NAND Flash Translation Layer) support"
+ depends on MTD
+ ---help---
+ This provides support for the NAND Flash Translation Layer which is
+ used on M-Systems' DiskOnChip devices. It uses a kind of pseudo-
+ file system on a flash device to emulate a block device with
+ 512-byte sectors, on top of which you put a 'normal' file system.
+
+ You may find that the algorithms used in this code are patented
+ unless you live in the Free World where software patents aren't
+ legal - in the USA you are only permitted to use this on DiskOnChip
+ hardware, although under the terms of the GPL you're obviously
+ permitted to copy, modify and distribute the code as you wish. Just
+ not use it.
+
+config NFTL_RW
+ bool "Write support for NFTL (BETA)"
+ depends on NFTL
+ help
+ If you're lucky, this will actually work. Don't whinge if it
+ doesn't. Send mail to the MTD mailing list
+ <linux-mtd@lists.infradead.org> if you want to help to make it more
+ reliable.
+
+source "drivers/mtd/chips/Kconfig"
+
+source "drivers/mtd/maps/Kconfig"
+
+source "drivers/mtd/devices/Kconfig"
+
+source "drivers/mtd/nand/Kconfig"
+
+endmenu
+
diff --git a/drivers/mtd/chips/Kconfig b/drivers/mtd/chips/Kconfig
new file mode 100644
index 000000000000..adf674fccbb0
--- /dev/null
+++ b/drivers/mtd/chips/Kconfig
@@ -0,0 +1,216 @@
+# drivers/mtd/chips/Config.in
+# $Id: Config.in,v 1.12 2001/09/23 15:35:21 dwmw2 Exp $
+
+menu "RAM/ROM/Flash chip drivers"
+ depends on MTD!=n
+
+config MTD_CFI
+ tristate "Detect flash chips by Common Flash Interface (CFI) probe"
+ depends on MTD
+ help
+ The Common Flash Interface specification was developed by Intel,
+ AMD and other flash manufactures that provides a universal method
+ for probing the capabilities of flash devices. If you wish to
+ support any device that is CFI-compliant, you need to enable this
+ option. Visit <http://www.amd.com/products/nvd/overview/cfi.html>
+ for more information on CFI.
+
+#dep_tristate ' Detect non-CFI Intel-compatible flash chips' CONFIG_MTD_INTELPROBE $CONFIG_MTD
+config MTD_JEDECPROBE
+ tristate "Detect non-CFI AMD/JEDEC-compatible flash chips"
+ depends on MTD
+ help
+ This option enables JEDEC-style probing of flash chips which are not
+ compatible with the Common Flash Interface, but will use the common
+ CFI-targetted flash drivers for any chips which are identified which
+ are in fact compatible in all but the probe method. This actually
+ covers most AMD/Fujitsu-compatible chips, and will shortly cover also
+ non-CFI Intel chips (that code is in MTD CVS and should shortly be sent
+ for inclusion in Linus' tree)
+
+config MTD_GEN_PROBE
+ tristate
+ default m if MTD_CFI!=y && !MTD_INTELPROBE && MTD_JEDECPROBE!=y && (MTD_CFI=m || MTD_JEDECPROBE=m)
+ default y if MTD_CFI=y || MTD_INTELPROBE || MTD_JEDECPROBE=y
+
+config MTD_CFI_ADV_OPTIONS
+ bool "Flash chip driver advanced configuration options"
+ depends on MTD_GEN_PROBE
+ help
+ If you need to specify a specific endianness for access to flash
+ chips, or if you wish to reduce the size of the kernel by including
+ support for only specific arrangements of flash chips, say 'Y'. This
+ option does not directly affect the code, but will enable other
+ configuration options which allow you to do so.
+
+ If unsure, say 'N'.
+
+choice
+ prompt "Flash cmd/query data swapping"
+ depends on MTD_CFI_ADV_OPTIONS
+ default MTD_CFI_NOSWAP
+
+config MTD_CFI_NOSWAP
+ bool "NO"
+ ---help---
+ This option defines the way in which the CPU attempts to arrange
+ data bits when writing the 'magic' commands to the chips. Saying
+ 'NO', which is the default when CONFIG_MTD_CFI_ADV_OPTIONS isn't
+ enabled, means that the CPU will not do any swapping; the chips
+ are expected to be wired to the CPU in 'host-endian' form.
+ Specific arrangements are possible with the BIG_ENDIAN_BYTE and
+ LITTLE_ENDIAN_BYTE, if the bytes are reversed.
+
+ If you have a LART, on which the data (and address) lines were
+ connected in a fashion which ensured that the nets were as short
+ as possible, resulting in a bit-shuffling which seems utterly
+ random to the untrained eye, you need the LART_ENDIAN_BYTE option.
+
+ Yes, there really exists something sicker than PDP-endian :)
+
+config MTD_CFI_BE_BYTE_SWAP
+ bool "BIG_ENDIAN_BYTE"
+
+config MTD_CFI_LE_BYTE_SWAP
+ bool "LITTLE_ENDIAN_BYTE"
+
+endchoice
+
+config MTD_CFI_GEOMETRY
+ bool "Specific CFI Flash geometry selection"
+ depends on MTD_CFI_ADV_OPTIONS
+ help
+ This option does not affect the code directly, but will enable
+ some other configuration options which would allow you to reduce
+ the size of the kernel by including support for only certain
+ arrangements of CFI chips. If unsure, say 'N' and all options
+ which are supported by the current code will be enabled.
+
+config MTD_CFI_B1
+ bool "Support 8-bit buswidth"
+ depends on MTD_CFI_GEOMETRY
+ help
+ If you wish to support CFI devices on a physical bus which is
+ 8 bits wide, say 'Y'.
+
+config MTD_CFI_B2
+ bool "Support 16-bit buswidth"
+ depends on MTD_CFI_GEOMETRY
+ help
+ If you wish to support CFI devices on a physical bus which is
+ 16 bits wide, say 'Y'.
+
+config MTD_CFI_B4
+ bool "Support 32-bit buswidth"
+ depends on MTD_CFI_GEOMETRY
+ help
+ If you wish to support CFI devices on a physical bus which is
+ 32 bits wide, say 'Y'.
+
+config MTD_CFI_I1
+ bool "Support 1-chip flash interleave" if !MTD_CFI_B1
+ depends on MTD_CFI_GEOMETRY
+ default y if MTD_CFI_B1
+ help
+ If your flash chips are not interleaved - i.e. you only have one
+ flash chip addressed by each bus cycle, then say 'Y'.
+
+config MTD_CFI_I2
+ bool "Support 2-chip flash interleave"
+ depends on MTD_CFI_GEOMETRY
+ help
+ If your flash chips are interleaved in pairs - i.e. you have two
+ flash chips addressed by each bus cycle, then say 'Y'.
+
+config MTD_CFI_I4
+ bool "Support 4-chip flash interleave"
+ depends on MTD_CFI_GEOMETRY
+ help
+ If your flash chips are interleaved in fours - i.e. you have four
+ flash chips addressed by each bus cycle, then say 'Y'.
+
+config MTD_CFI_INTELEXT
+ tristate "Support for Intel/Sharp flash chips"
+ depends on MTD_GEN_PROBE
+ help
+ The Common Flash Interface defines a number of different command
+ sets which a CFI-compliant chip may claim to implement. This code
+ provides support for one of those command sets, used on Intel
+ StrataFlash and other parts.
+
+config MTD_CFI_AMDSTD
+ tristate "Support for AMD/Fujitsu flash chips"
+ depends on MTD_GEN_PROBE
+ help
+ The Common Flash Interface defines a number of different command
+ sets which a CFI-compliant chip may claim to implement. This code
+ provides support for one of those command sets, used on chips
+ chips including the AMD Am29LV320.
+
+config MTD_RAM
+ tristate "Support for RAM chips in bus mapping"
+ depends on MTD
+ help
+ This option enables basic support for RAM chips accessed through
+ a bus mapping driver.
+
+config MTD_ROM
+ tristate "Support for ROM chips in bus mapping"
+ depends on MTD
+ help
+ This option enables basic support for ROM chips accessed through
+ a bus mapping driver.
+
+config MTD_ABSENT
+ tristate "Support for absent chips in bus mapping"
+ depends on MTD
+ help
+ This option enables support for a dummy probing driver used to
+ allocated placeholder MTD devices on systems that have socketed
+ or removable media. Use of this driver as a fallback chip probe
+ preserves the expected registration order of MTD device nodes on
+ the system regardless of media presence. Device nodes created
+ with this driver will return -ENODEV upon access.
+
+config MTD_OBSOLETE_CHIPS
+ bool "Older (theoretically obsoleted now) drivers for non-CFI chips"
+ help
+ This option does not enable any code directly, but will allow you to
+ select some other chip drivers which are now considered obsolete,
+ because the generic CONFIG_JEDEC_PROBE code above should now detect
+ the chips which are supported by these drivers, and allow the generic
+ CFI-compatible drivers to drive the chips. Say 'N' here unless you have
+ already tried the CONFIG_JEDEC_PROBE method and reported its failure
+ to the MTD mailing list at <linux-mtd@lists.infradead.org>
+
+config MTD_AMDSTD
+ tristate "AMD compatible flash chip support (non-CFI)"
+ depends on MTD && MTD_OBSOLETE_CHIPS
+ help
+ This option enables support for flash chips using AMD-compatible
+ commands, including some which are not CFI-compatible and hence
+ cannot be used with the CONFIG_MTD_CFI_AMDSTD option.
+
+ It also works on AMD compatible chips that do conform to CFI.
+
+config MTD_SHARP
+ tristate "pre-CFI Sharp chip support"
+ depends on MTD && MTD_OBSOLETE_CHIPS
+ help
+ This option enables support for flash chips using Sharp-compatible
+ commands, including some which are not CFI-compatible and hence
+ cannot be used with the CONFIG_MTD_CFI_INTELxxx options.
+
+config MTD_JEDEC
+ tristate "JEDEC device support"
+ depends on MTD && MTD_OBSOLETE_CHIPS
+ help
+ Enable older older JEDEC flash interface devices for self
+ programming flash. It is commonly used in older AMD chips. It is
+ only called JEDEC because the JEDEC association
+ <http://www.jedec.org/> distributes the identification codes for the
+ chips. WARNING!!!! This code does not compile and is incomplete as
+ are the specific JEDEC devices drivers.
+
+endmenu
+
diff --git a/drivers/mtd/devices/Kconfig b/drivers/mtd/devices/Kconfig
new file mode 100644
index 000000000000..41a0bb33bda5
--- /dev/null
+++ b/drivers/mtd/devices/Kconfig
@@ -0,0 +1,208 @@
+# drivers/mtd/maps/Config.in
+# $Id: Config.in,v 1.5 2001/09/23 15:33:10 dwmw2 Exp $
+
+menu "Self-contained MTD device drivers"
+ depends on MTD!=n
+
+config MTD_PMC551
+ tristate "Ramix PMC551 PCI Mezzanine RAM card support"
+ depends on MTD && PCI
+ ---help---
+ This provides a MTD device driver for the Ramix PMC551 RAM PCI card
+ from Ramix Inc. <http://www.ramix.com/products/memory/pmc551.html>.
+ These devices come in memory configurations from 32M - 1G. If you
+ have one, you probably want to enable this.
+
+ If this driver is compiled as a module you get the ability to select
+ the size of the aperture window pointing into the devices memory.
+ What this means is that if you have a 1G card, normally the kernel
+ will use a 1G memory map as its view of the device. As a module,
+ you can select a 1M window into the memory and the driver will
+ "slide" the window around the PMC551's memory. This was
+ particularly useful on the 2.2 kernels on PPC architectures as there
+ was limited kernel space to deal with.
+
+config MTD_PMC551_BUGFIX
+ bool "PMC551 256M DRAM Bugfix"
+ depends on MTD_PMC551
+ help
+ Some of Ramix's PMC551 boards with 256M configurations have invalid
+ column and row mux values. This option will fix them, but will
+ break other memory configurations. If unsure say N.
+
+config MTD_PMC551_DEBUG
+ bool "PMC551 Debugging"
+ depends on MTD_PMC551
+ help
+ This option makes the PMC551 more verbose during its operation and
+ is only really useful if you are developing on this driver or
+ suspect a possible hardware or driver bug. If unsure say N.
+
+config MTD_SLRAM
+ tristate "Uncached system RAM"
+ depends on MTD
+ help
+ If your CPU cannot cache all of the physical memory in your machine,
+ you can still use it for storage or swap by using this driver to
+ present it to the system as a Memory Technology Device.
+
+config MTD_LART
+ tristate "28F160xx flash driver for LART"
+ depends on SA1100_LART && MTD
+ help
+ This enables the flash driver for LART. Please note that you do
+ not need any mapping/chip driver for LART. This one does it all
+ for you, so go disable all of those if you enabled some of them (:
+
+config MTD_MTDRAM
+ tristate "Test driver using RAM"
+ depends on MTD
+ help
+ This enables a test MTD device driver which uses vmalloc() to
+ provide storage. You probably want to say 'N' unless you're
+ testing stuff.
+
+config MTDRAM_TOTAL_SIZE
+ int "MTDRAM device size in KiB"
+ depends on MTD_MTDRAM
+ default "4096"
+ help
+ This allows you to configure the total size of the MTD device
+ emulated by the MTDRAM driver. If the MTDRAM driver is built
+ as a module, it is also possible to specify this as a parameter when
+ loading the module.
+
+config MTDRAM_ERASE_SIZE
+ int "MTDRAM erase block size in KiB"
+ depends on MTD_MTDRAM
+ default "128"
+ help
+ This allows you to configure the size of the erase blocks in the
+ device emulated by the MTDRAM driver. If the MTDRAM driver is built
+ as a module, it is also possible to specify this as a parameter when
+ loading the module.
+
+#If not a module (I don't want to test it as a module)
+config MTDRAM_ABS_POS
+ hex "SRAM Hexadecimal Absolute position or 0"
+ depends on MTD_MTDRAM=y
+ default "0"
+ help
+ If you have system RAM accessible by the CPU but not used by Linux
+ in normal operation, you can give the physical address at which the
+ available RAM starts, and the MTDRAM driver will use it instead of
+ allocating space from Linux's available memory. Otherwise, leave
+ this set to zero. Most people will want to leave this as zero.
+
+config MTD_BLKMTD
+ tristate "MTD emulation using block device"
+ depends on MTD
+ help
+ This driver allows a block device to appear as an MTD. It would
+ generally be used in the following cases:
+
+ Using Compact Flash as an MTD, these usually present themselves to
+ the system as an ATA drive.
+ Testing MTD users (eg JFFS2) on large media and media that might
+ be removed during a write (using the floppy drive).
+
+comment "Disk-On-Chip Device Drivers"
+
+config MTD_DOC1000
+ tristate "M-Systems Disk-On-Chip 1000"
+ depends on MTD
+ help
+ This provides an MTD device driver for the M-Systems DiskOnChip
+ 1000 devices, which are obsolete so you probably want to say 'N'.
+
+config MTD_DOC2000
+ tristate "M-Systems Disk-On-Chip 2000 and Millennium"
+ depends on MTD
+ ---help---
+ This provides an MTD device driver for the M-Systems DiskOnChip
+ 2000 and Millennium devices. Originally designed for the DiskOnChip
+ 2000, it also now includes support for the DiskOnChip Millennium.
+ If you have problems with this driver and the DiskOnChip Millennium,
+ you may wish to try the alternative Millennium driver below. To use
+ the alternative driver, you will need to undefine DOC_SINGLE_DRIVER
+ in the <file:drivers/mtd/devices/docprobe.c> source code.
+
+ If you use this device, you probably also want to enable the NFTL
+ 'NAND Flash Translation Layer' option below, which is used to
+ emulate a block device by using a kind of file system on the flash
+ chips.
+
+config MTD_DOC2001
+ tristate "M-Systems Disk-On-Chip Millennium-only alternative driver (see help)"
+ depends on MTD
+ ---help---
+ This provides an alternative MTD device driver for the M-Systems
+ DiskOnChip Millennium devices. Use this if you have problems with
+ the combined DiskOnChip 2000 and Millennium driver above. To get
+ the DiskOnChip probe code to load and use this driver instead of
+ the other one, you will need to undefine DOC_SINGLE_DRIVER near
+ the beginning of <file:drivers/mtd/devices/docprobe.c>.
+
+ If you use this device, you probably also want to enable the NFTL
+ 'NAND Flash Translation Layer' option below, which is used to
+ emulate a block device by using a kind of file system on the flash
+ chips.
+
+config MTD_DOCPROBE
+ tristate
+ default m if MTD_DOC2001!=y && MTD_DOC2000!=y && (MTD_DOC2001=m || MTD_DOC2000=m)
+ default y if MTD_DOC2001=y || MTD_DOC2000=y
+ help
+ This isn't a real config option, it's derived.
+
+config MTD_DOCPROBE_ADVANCED
+ bool "Advanced detection options for DiskOnChip"
+ depends on MTD_DOCPROBE
+ help
+ This option allows you to specify nonstandard address at which to
+ probe for a DiskOnChip, or to change the detection options. You
+ are unlikely to need any of this unless you are using LinuxBIOS.
+ Say 'N'.
+
+config MTD_DOCPROBE_ADDRESS
+ hex "Physical address of DiskOnChip" if MTD_DOCPROBE_ADVANCED
+ depends on MTD_DOCPROBE
+ default "0x0000" if MTD_DOCPROBE_ADVANCED
+ default "0" if !MTD_DOCPROBE_ADVANCED
+ ---help---
+ By default, the probe for DiskOnChip devices will look for a
+ DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000.
+ This option allows you to specify a single address at which to probe
+ for the device, which is useful if you have other devices in that
+ range which get upset when they are probed.
+
+ (Note that on PowerPC, the normal probe will only check at
+ 0xE4000000.)
+
+ Normally, you should leave this set to zero, to allow the probe at
+ the normal addresses.
+
+config MTD_DOCPROBE_HIGH
+ bool "Probe high addresses"
+ depends on MTD_DOCPROBE_ADVANCED
+ help
+ By default, the probe for DiskOnChip devices will look for a
+ DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000.
+ This option changes to make it probe between 0xFFFC8000 and
+ 0xFFFEE000. Unless you are using LinuxBIOS, this is unlikely to be
+ useful to you. Say 'N'.
+
+config MTD_DOCPROBE_55AA
+ bool "Probe for 0x55 0xAA BIOS Extension Signature"
+ depends on MTD_DOCPROBE_ADVANCED
+ help
+ Check for the 0x55 0xAA signature of a DiskOnChip, and do not
+ continue with probing if it is absent. The signature will always be
+ present for a DiskOnChip 2000 or a normal DiskOnChip Millennium.
+ Only if you have overwritten the first block of a DiskOnChip
+ Millennium will it be absent. Enable this option if you are using
+ LinuxBIOS or if you need to recover a DiskOnChip Millennium on which
+ you have managed to wipe the first block.
+
+endmenu
+
diff --git a/drivers/mtd/maps/Kconfig b/drivers/mtd/maps/Kconfig
new file mode 100644
index 000000000000..f1a9bd70546e
--- /dev/null
+++ b/drivers/mtd/maps/Kconfig
@@ -0,0 +1,350 @@
+# drivers/mtd/maps/Config.in
+# $Id: Config.in,v 1.16 2001/09/19 18:28:37 dwmw2 Exp $
+
+menu "Mapping drivers for chip access"
+ depends on MTD!=n
+
+config MTD_PHYSMAP
+ tristate "CFI Flash device in physical memory map"
+ depends on MTD_CFI
+ help
+ This provides a 'mapping' driver which allows the CFI probe and
+ command set driver code to communicate with flash chips which
+ are mapped physically into the CPU's memory. You will need to
+ configure the physical address and size of the flash chips on
+ your particular board as well as the bus width.
+
+config MTD_PHYSMAP_START
+ hex "Physical start address of flash mapping"
+ depends on MTD_PHYSMAP
+ default "0x8000000"
+ help
+ This is the physical memory location at which the flash chips
+ are mapped on your particular target board. Refer to the
+ memory map which should hopefully be in the documentation for
+ your board.
+
+config MTD_PHYSMAP_LEN
+ hex "Physical length of flash mapping"
+ depends on MTD_PHYSMAP
+ default "0x4000000"
+ help
+ This is the total length of the mapping of the flash chips on
+ your particular board. If there is space, or aliases, in the
+ physical memory map between the chips, this could be larger
+ than the total amount of flash present. Refer to the memory
+ map which should hopefully be in the documentation for your
+ board.
+
+config MTD_PHYSMAP_BUSWIDTH
+ int "Bus width in octets"
+ depends on MTD_PHYSMAP
+ default "2"
+ help
+ This is the total width of the data bus of the flash devices
+ in octets. For example, if you have a data bus width of 32
+ bits, you would set the bus width octect value to 4. This is
+ used internally by the CFI drivers.
+
+config MTD_SUN_UFLASH
+ tristate "Sun Microsystems userflash support"
+ depends on (SPARC32 || SPARC64) && MTD_CFI
+ help
+ This provides a 'mapping' driver which supports the way in
+ which user-programmable flash chips are connected on various
+ Sun Microsystems boardsets. This driver will require CFI support
+ in the kernel, so if you did not enable CFI previously, do that now.
+
+config MTD_PNC2000
+ tristate "CFI Flash device mapped on Photron PNC-2000"
+ depends on X86 && MTD_CFI && MTD_PARTITIONS
+ help
+ PNC-2000 is the name of Network Camera product from PHOTRON
+ Ltd. in Japan. It uses CFI-compliant flash.
+
+config MTD_SC520CDP
+ tristate "CFI Flash device mapped on AMD SC520 CDP"
+ depends on X86 && MTD_CFI
+ help
+ The SC520 CDP board has two banks of CFI-compliant chips and one
+ Dual-in-line JEDEC chip. This 'mapping' driver supports that
+ arrangement, implementing three MTD devices.
+
+config MTD_NETSC520
+ tristate "CFI Flash device mapped on AMD NetSc520"
+ depends on X86 && MTD_CFI && MTD_PARTITIONS
+ help
+ This enables access routines for the flash chips on the AMD NetSc520
+ demonstration board. If you have one of these boards and would like
+ to use the flash chips on it, say 'Y'.
+
+config MTD_SBC_GXX
+ tristate "CFI Flash device mapped on Arcom SBC-GXx boards"
+ depends on X86 && MTD_CFI_INTELEXT && MTD_PARTITIONS
+ help
+ This provides a driver for the on-board flash of Arcom Control
+ Systems' SBC-GXn family of boards, formerly known as SBC-MediaGX.
+ By default the flash is split into 3 partitions which are accessed
+ as separate MTD devices. This board utilizes Intel StrataFlash.
+ More info at
+ <http://www.arcomcontrols.com/products/icp/pc104/processors/>.
+
+config MTD_ELAN_104NC
+ tristate "CFI Flash device mapped on Arcom ELAN-104NC"
+ depends on X86 && MTD_CFI_INTELEXT && MTD_PARTITIONS
+ help
+ This provides a driver for the on-board flash of the Arcom Control
+ System's ELAN-104NC development board. By default the flash
+ is split into 3 partitions which are accessed as separate MTD
+ devices. This board utilizes Intel StrataFlash. More info at
+ <http://www.arcomcontrols.com/products/icp/pc104/processors/>.
+
+config MTD_MIXMEM
+ tristate "JEDEC Flash device mapped on Mixcom piggyback card"
+ depends on X86 && MTD_JEDEC
+ help
+ This supports the paging arrangement for access to flash chips
+ on the MixCOM piggyback card, allowing the flash chip drivers
+ to get on with their job of driving the flash chips without
+ having to know about the paging. If you have one of these boards,
+ you probably want to enable this mapping driver. More info is at
+ <http://www.itc.hu/>.
+
+config MTD_OCTAGON
+ tristate "JEDEC Flash device mapped on Octagon 5066 SBC"
+ depends on X86 && MTD_JEDEC
+ help
+ This provides a 'mapping' driver which supports the way in which
+ the flash chips are connected in the Octagon-5066 Single Board
+ Computer. More information on the board is available at
+ <http://www.octagonsystems.com/Products/5066/5066.html>.
+
+config MTD_VMAX
+ tristate "JEDEC Flash device mapped on Tempustech VMAX SBC301"
+ depends on X86 && MTD_JEDEC
+ help
+ This provides a 'mapping' driver which supports the way in which
+ the flash chips are connected in the Tempustech VMAX SBC301 Single
+ Board Computer. More information on the board is available at
+ <http://www.tempustech.com/tt301.htm>.
+
+config MTD_SCx200_DOCFLASH
+ tristate "Flash device mapped with DOCCS on NatSemi SCx200"
+ depends on X86 && MTD_CFI
+ help
+ Enable support for a flash chip mapped using the DOCCS signal on a
+ National Semiconductor SCx200 processor.
+
+ If you don't know what to do here, say N.
+
+ If compiled as a module, it will be called scx200_docflash.o.
+
+config MTD_L440GX
+ tristate "BIOS flash chip on Intel L440GX boards"
+ depends on X86 && MTD_JEDEC
+ help
+ Support for treating the BIOS flash chip on Intel L440GX motherboards
+ as an MTD device - with this you can reprogram your BIOS.
+
+ BE VERY CAREFUL.
+
+config MTD_TQM8XXL
+ tristate "CFI Flash device mapped on TQM8XXL"
+ depends on MTD_CFI && TQM8xxL && PPC
+ help
+ The TQM8xxL PowerPC board has up to two banks of CFI-compliant
+ chips, currently uses AMD one. This 'mapping' driver supports
+ that arrangement, allowing the CFI probe and command set driver
+ code to communicate with the chips on the TQM8xxL board. More at
+ <http://www.denx.de/embedded-ppc-en.html>.
+
+config MTD_RPXLITE
+ tristate "CFI Flash device mapped on RPX Lite or CLLF"
+ depends on MTD_CFI && PPC
+ help
+ The RPXLite PowerPC board has CFI-compliant chips mapped in
+ a strange sparse mapping. This 'mapping' driver supports that
+ arrangement, allowing the CFI probe and command set driver code
+ to communicate with the chips on the RPXLite board. More at
+ <http://www.embeddedplanet.com/rpx_lite_specification_sheet.htm>.
+
+config MTD_DBOX2
+ tristate "CFI Flash device mapped on D-Box2"
+ depends on PPC && MTD_CFI_INTELSTD && MTD_CFI_INTELEXT && MTD_CFI_AMDSTD
+ help
+ This enables access routines for the flash chips on the Nokia/Sagem
+ D-Box 2 board. If you have one of these boards and would like to use
+ the flash chips on it, say 'Y'.
+
+config MTD_CFI_FLAGADM
+ tristate "CFI Flash device mapping on FlagaDM"
+ depends on PPC && MTD_CFI
+ help
+ Mapping for the Flaga digital module. If you donīt have one, ignore
+ this setting.
+
+config MTD_CSTM_MIPS_IXX
+ tristate "Flash chip mapping on ITE QED-4N-S01B, Globespan IVR or custom board"
+ depends on MIPS && MTD_CFI && MTD_JEDEC && MTD_PARTITIONS
+ ---help---
+ This provides a mapping driver for the Integrated Tecnology
+ Express, Inc (ITE) QED-4N-S01B eval board and the Globespan IVR
+ Reference Board. It provides the necessary addressing, length,
+ buswidth, vpp code and addition setup of the flash device for
+ these boards. In addition, this mapping driver can be used for
+ other boards via setting of the CONFIG_MTD_CSTM_MIPS_IXX_START/
+ LEN/BUSWIDTH parameters. This mapping will provide one mtd device
+ using one partition. The start address can be offset from the
+ beginning of flash and the len can be less than the total flash
+ device size to allow a window into the flash. Both CFI and JEDEC
+ probes are called.
+
+config MTD_CSTM_MIPS_IXX_START
+ hex "Physical start address of flash mapping"
+ depends on MTD_CSTM_MIPS_IXX
+ default "0x8000000"
+ help
+ This is the physical memory location that the MTD driver will
+ use for the flash chips on your particular target board.
+ Refer to the memory map which should hopefully be in the
+ documentation for your board.
+
+config MTD_CSTM_MIPS_IXX_LEN
+ hex "Physical length of flash mapping"
+ depends on MTD_CSTM_MIPS_IXX
+ default "0x4000000"
+ help
+ This is the total length that the MTD driver will use for the
+ flash chips on your particular board. Refer to the memory
+ map which should hopefully be in the documentation for your
+ board.
+
+config MTD_CSTM_MIPS_IXX_BUSWIDTH
+ int "Bus width in octets"
+ depends on MTD_CSTM_MIPS_IXX
+ default "2"
+ help
+ This is the total bus width of the mapping of the flash chips
+ on your particular board.
+
+config MTD_OCELOT
+ tristate "Momenco Ocelot boot flash device"
+ depends on MIPS && MOMENCO_OCELOT
+ help
+ This enables access routines for the boot flash device and for the
+ NVRAM on the Momenco Ocelot board. If you have one of these boards
+ and would like access to either of these, say 'Y'.
+
+config MTD_SOLUTIONENGINE
+ tristate "CFI Flash device mapped on Hitachi SolutionEngine"
+ depends on SUPERH && MTD_CFI && MTD_REDBOOT_PARTS
+ help
+ This enables access to the flash chips on the Hitachi SolutionEngine and
+ similar boards. Say 'Y' if you are building a kernel for such a board.
+
+config MTD_NORA
+ tristate "CFI Flash device mapped on Nora"
+ depends on ARM && MTD_CFI
+ help
+ If you had to ask, you don't have one. Say 'N'.
+
+config MTD_ARM_INTEGRATOR
+ tristate "CFI Flash device mapped on ARM Integrator/P720T"
+ depends on ARM && MTD_CFI
+
+config MTD_CDB89712
+ tristate "Cirrus CDB89712 evaluation board mappings"
+ depends on ARM && MTD_CFI && ARCH_CDB89712
+ help
+ This enables access to the flash or ROM chips on the CDB89712 board.
+ If you have such a board, say 'Y'.
+
+config MTD_SA1100
+ tristate "CFI Flash device mapped on StrongARM SA11x0"
+ depends on ARM && MTD_CFI && ARCH_SA1100 && MTD_PARTITIONS
+ help
+ This enables access to the flash chips on most platforms based on
+ the SA1100 and SA1110, including the Assabet and the Compaq iPAQ.
+ If you have such a board, say 'Y'.
+
+config MTD_DC21285
+ tristate "CFI Flash device mapped on DC21285 Footbridge"
+ depends on ARM && MTD_CFI && ARCH_FOOTBRIDGE
+ help
+ This provides a driver for the flash accessed using Intel's
+ 21285 bridge used with Intel's StrongARM processors. More info at
+ <http://developer.intel.com/design/bridge/quicklist/dsc-21285.htm>.
+
+config MTD_IQ80310
+ tristate "CFI Flash device mapped on the XScale IQ80310 board"
+ depends on ARM && MTD_CFI && ARCH_IQ80310
+ help
+ This enables access routines for the flash chips on the Intel XScale
+ IQ80310 evaluation board. If you have one of these boards and would
+ like to use the flash chips on it, say 'Y'.
+
+config MTD_EPXA10DB
+ tristate "CFI Flash device mapped on Epxa10db"
+ depends on ARM && MTD_CFI && MTD_PARTITIONS && ARCH_CAMELOT
+ help
+ This enables support for the flash devices on the Altera
+ Excalibur XA10 Development Board. If you are building a kernel
+ for on of these boards then you should say 'Y' otherwise say 'N'.
+
+config MTD_FORTUNET
+ tristate "CFI Flash device mapped on the FortuNet board"
+ depends on ARM && MTD_CFI && MTD_PARTITIONS && SA1100_FORTUNET
+ help
+ This enables access to the Flash on the FortuNet board. If you
+ have such a board, say 'Y'.
+
+config MTD_AUTCPU12
+ tristate "NV-RAM mapping AUTCPU12 board"
+ depends on ARM && ARCH_AUTCPU12
+ help
+ This enables access to the NV-RAM on autronix autcpu12 board.
+ If you have such a board, say 'Y'.
+
+config MTD_EDB7312
+ tristate "CFI Flash device mapped on EDB7312"
+ depends on ARM && MTD_CFI
+ help
+ This enables access to the CFI Flash on the Cogent EDB7312 board.
+ If you have such a board, say 'Y' here.
+
+config MTD_IMPA7
+ tristate "JEDEC Flash device mapped on impA7"
+ depends on ARM && MTD_JEDECPROBE
+ help
+ This enables access to the NOR Flash on the impA7 board of
+ implementa GmbH. If you have such a board, say 'Y' here.
+
+config MTD_CEIVA
+ tristate "JEDEC Flash device mapped on Ceiva/Polaroid PhotoMax Digital Picture Frame"
+ depends on ARM && MTD_JEDECPROBE && ARCH_CEIVA
+ help
+ This enables access to the flash chips on the Ceiva/Polaroid
+ PhotoMax Digital Picture Frame.
+ If you have such a device, say 'Y'.
+
+# This needs CFI or JEDEC, depending on the cards found.
+config MTD_PCI
+ tristate "PCI MTD driver"
+ depends on MTD && PCI
+ help
+ Mapping for accessing flash devices on add-in cards like the Intel XScale
+ IQ80310 card, and the Intel EBSA285 card in blank ROM programming mode
+ (please see the manual for the link settings).
+
+ If you are not sure, say N.
+
+config MTD_PCMCIA
+ tristate "PCMCIA MTD driver"
+ depends on MTD && PCMCIA
+ help
+ Map driver for accessing PCMCIA linear flash memory cards. These
+ cards are usually around 4-16MiB in size. This does not include
+ Compact Flash cards which are treated as IDE devices.
+
+endmenu
+
diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
new file mode 100644
index 000000000000..e1fa71285c9c
--- /dev/null
+++ b/drivers/mtd/nand/Kconfig
@@ -0,0 +1,41 @@
+# drivers/mtd/nand/Config.in
+# $Id: Config.in,v 1.4 2001/09/19 09:35:23 dwmw2 Exp $
+
+menu "NAND Flash Device Drivers"
+ depends on MTD!=n
+
+config MTD_NAND
+ tristate "NAND Device Support"
+ depends on MTD
+ help
+ This enables support for accessing all type of NAND flash
+ devices.
+
+config MTD_NAND_ECC
+ bool "Enable ECC correction algorithm"
+ depends on MTD_NAND
+ help
+ This enables software-based ECC for use with NAND flash chips. It
+ can detect and correct 1 bit errors per 256 byte blocks. This
+ should be used to increase the reliability of the data stored and
+ read on the device.
+
+config MTD_NAND_VERIFY_WRITE
+ bool "Verify NAND page writes"
+ depends on MTD_NAND
+ help
+ This adds an extra check when data is written to the flash. The
+ NAND flash device internally checks only bits transitioning
+ from 1 to 0. There is a rare possibility that even though the
+ device thinks the write was successful, a bit could have been
+ flipped accidentaly due to device wear, gamma rays, whatever.
+ Enable this if you are really paranoid.
+
+config MTD_NAND_SPIA
+ tristate "NAND Flash device on SPIA board"
+ depends on ARM && ARCH_P720T && MTD_NAND
+ help
+ If you had to ask, you don't have one. Say 'N'.
+
+endmenu
+