[B43LEGACY]: add mac80211-based driver for legacy BCM43xx devices
[safe/jmp/linux-2.6] / drivers / net / wireless / Kconfig
index 19bc099..c210265 100644 (file)
@@ -2,47 +2,22 @@
 # Wireless LAN device configuration
 #
 
-menu "Wireless LAN (non-hamradio)"
-       depends on NETDEVICES
-
-config NET_RADIO
-       bool "Wireless LAN drivers (non-hamradio) & Wireless Extensions"
-       select WIRELESS_EXT
-       ---help---
-         Support for wireless LANs and everything having to do with radio,
-         but not with amateur radio or FM broadcasting.
-
-         Saying Y here also enables the Wireless Extensions (creates
-         /proc/net/wireless and enables iwconfig access). The Wireless
-         Extension is a generic API allowing a driver to expose to the user
-         space configuration and statistics specific to common Wireless LANs.
-         The beauty of it is that a single set of tool can support all the
-         variations of Wireless LANs, regardless of their type (as long as
-         the driver supports Wireless Extension). Another advantage is that
-         these parameters may be changed on the fly without restarting the
-         driver (or Linux). If you wish to use Wireless Extensions with
-         wireless PCMCIA (PC-) cards, you need to say Y here; you can fetch
-         the tools from
-         <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.
+menu "Wireless LAN"
+       depends on !S390
 
-config NET_WIRELESS_RTNETLINK
-       bool "Wireless Extension API over RtNetlink"
-       depends on NET_RADIO
+config WLAN_PRE80211
+       bool "Wireless LAN (pre-802.11)"
+       depends on NETDEVICES
        ---help---
-         Support the Wireless Extension API over the RtNetlink socket
-         in addition to the traditional ioctl interface (selected above).
-
-         For now, few tools use this facility, but it might grow in the
-         future. The only downside is that it adds 4.5 kB to your kernel.
+         Say Y if you have any pre-802.11 wireless LAN hardware.
 
-# Note : the cards are obsolete (can't buy them anymore), but the drivers
-# are not, as people are still using them...
-comment "Obsolete Wireless cards support (pre-802.11)"
-       depends on NET_RADIO && (INET || ISA || PCMCIA)
+         This option does not affect the kernel build, it only
+         lets you choose drivers.
 
 config STRIP
        tristate "STRIP (Metricom starmode radio IP)"
-       depends on NET_RADIO && INET
+       depends on INET && WLAN_PRE80211
+       select WIRELESS_EXT
        ---help---
          Say Y if you have a Metricom radio and intend to use Starmode Radio
          IP. STRIP is a radio protocol developed for the MosquitoNet project
@@ -65,7 +40,8 @@ config STRIP
 
 config ARLAN
        tristate "Aironet Arlan 655 & IC2200 DS support"
-       depends on NET_RADIO && ISA && !64BIT
+       depends on ISA && !64BIT && WLAN_PRE80211
+       select WIRELESS_EXT
        ---help---
          Aironet makes Arlan, a class of wireless LAN adapters. These use the
          www.Telxon.com chip, which is also used on several similar cards.
@@ -80,17 +56,13 @@ config ARLAN
 
 config WAVELAN
        tristate "AT&T/Lucent old WaveLAN & DEC RoamAbout DS ISA support"
-       depends on NET_RADIO && ISA
+       depends on ISA && WLAN_PRE80211
+       select WIRELESS_EXT
        ---help---
          The Lucent WaveLAN (formerly NCR and AT&T; or DEC RoamAbout DS) is
          a Radio LAN (wireless Ethernet-like Local Area Network) using the
          radio frequencies 900 MHz and 2.4 GHz.
 
-         This driver support the ISA version of the WaveLAN card.  A separate
-         driver for the PCMCIA (PC-card) hardware is available in David
-         Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
-         for location).
-
          If you want to use an ISA WaveLAN card under Linux, say Y and read
          the Ethernet-HOWTO, available from
          <http://www.tldp.org/docs.html#howto>. Some more specific
@@ -107,7 +79,8 @@ config WAVELAN
 
 config PCMCIA_WAVELAN
        tristate "AT&T/Lucent old WaveLAN Pcmcia wireless support"
-       depends on NET_RADIO && PCMCIA
+       depends on PCMCIA && WLAN_PRE80211
+       select WIRELESS_EXT
        help
          Say Y here if you intend to attach an AT&T/Lucent Wavelan PCMCIA
          (PC-card) wireless Ethernet networking card to your computer.  This
@@ -118,7 +91,8 @@ config PCMCIA_WAVELAN
 
 config PCMCIA_NETWAVE
        tristate "Xircom Netwave AirSurfer Pcmcia wireless support"
-       depends on NET_RADIO && PCMCIA
+       depends on PCMCIA && WLAN_PRE80211
+       select WIRELESS_EXT
        help
          Say Y here if you intend to attach this type of PCMCIA (PC-card)
          wireless Ethernet networking card to your computer.
@@ -126,12 +100,20 @@ config PCMCIA_NETWAVE
          To compile this driver as a module, choose M here: the module will be
          called netwave_cs.  If unsure, say N.
 
-comment "Wireless 802.11 Frequency Hopping cards support"
-       depends on NET_RADIO && PCMCIA
+
+config WLAN_80211
+       bool "Wireless LAN (IEEE 802.11)"
+       depends on NETDEVICES
+       ---help---
+         Say Y if you have any 802.11 wireless LAN hardware.
+
+         This option does not affect the kernel build, it only
+         lets you choose drivers.
 
 config PCMCIA_RAYCS
        tristate "Aviator/Raytheon 2.4MHz wireless support"
-       depends on NET_RADIO && PCMCIA
+       depends on PCMCIA && WLAN_80211
+       select WIRELESS_EXT
        ---help---
          Say Y here if you intend to attach an Aviator/Raytheon PCMCIA
          (PC-card) wireless Ethernet networking card to your computer.
@@ -141,12 +123,10 @@ config PCMCIA_RAYCS
          To compile this driver as a module, choose M here: the module will be
          called ray_cs.  If unsure, say N.
 
-comment "Wireless 802.11b ISA/PCI cards support"
-       depends on NET_RADIO && (ISA || PCI || PPC_PMAC || PCMCIA)
-
 config IPW2100
        tristate "Intel PRO/Wireless 2100 Network Connection"
-       depends on NET_RADIO && PCI
+       depends on PCI && WLAN_80211
+       select WIRELESS_EXT
        select FW_LOADER
        select IEEE80211
        ---help---
@@ -169,8 +149,8 @@ config IPW2100
  
           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 ipw2100.ko.
+          say M here and read <file:Documentation/kbuild/modules.txt>.
+          The module will be called ipw2100.ko.
        
 config IPW2100_MONITOR
         bool "Enable promiscuous mode"
@@ -200,7 +180,8 @@ config IPW2100_DEBUG
 
 config IPW2200
        tristate "Intel PRO/Wireless 2200BG and 2915ABG Network Connection"
-       depends on NET_RADIO && PCI
+       depends on PCI && WLAN_80211
+       select WIRELESS_EXT
        select FW_LOADER
        select IEEE80211
        ---help---
@@ -223,8 +204,8 @@ config IPW2200
  
           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 ipw2200.ko.
+          say M here and read <file:Documentation/kbuild/modules.txt>.
+          The module will be called ipw2200.ko.
 
 config IPW2200_MONITOR
         bool "Enable promiscuous mode"
@@ -235,38 +216,14 @@ config IPW2200_MONITOR
          promiscuous mode via the Wireless Tool's Monitor mode.  While in this
          mode, no packets can be sent.
 
-config IPW2200_QOS
-        bool "Enable QoS support"
-        depends on IPW2200 && EXPERIMENTAL
-
-config IPW2200_DEBUG
-       bool "Enable full debugging output in IPW2200 module."
-       depends on IPW2200
-       ---help---
-         This option will enable debug tracing output for the IPW2200.  
-
-         This will result in the kernel module being ~100k larger.  You can 
-         control which debug output is sent to the kernel log by setting the 
-         value in 
-
-         /sys/bus/pci/drivers/ipw2200/debug_level
-
-         This entry will only exist if this option is enabled.
-
-         To set a value, simply echo an 8-byte hex value to the same file:
-
-         % echo 0x00000FFO > /sys/bus/pci/drivers/ipw2200/debug_level
-
-         You can find the list of debug mask values in 
-         drivers/net/wireless/ipw2200.h
-
-         If you are not trying to debug or develop the IPW2200 driver, you 
-         most likely want to say N here.
+config IPW2200_RADIOTAP
+       bool "Enable radiotap format 802.11 raw packet support"
+       depends on IPW2200_MONITOR
 
 config IPW2200_PROMISCUOUS
-       bool "Enable creation of a RF radiotap promiscuous interface."
-       depends on IPW2200
-       select IEEE80211_RADIOTAP
+       bool "Enable creation of a RF radiotap promiscuous interface"
+       depends on IPW2200_MONITOR
+       select IPW2200_RADIOTAP
        ---help---
           Enables the creation of a second interface prefixed 'rtap'. 
           This second interface will provide every received in radiotap
@@ -287,9 +244,54 @@ config IPW2200_PROMISCUOUS
        
             % echo 1 > /sys/bus/pci/drivers/ipw2200/*/rtap_iface
 
+config IPW2200_QOS
+        bool "Enable QoS support"
+        depends on IPW2200 && EXPERIMENTAL
+
+config IPW2200_DEBUG
+       bool "Enable full debugging output in IPW2200 module."
+       depends on IPW2200
+       ---help---
+         This option will enable low level debug tracing output for IPW2200.
+
+         Note, normal debug code is already compiled in. This low level
+         debug option enables debug on hot paths (e.g Tx, Rx, ISR) and
+         will result in the kernel module being ~70 larger.  Most users
+         will typically not need this high verbosity debug information.
+
+         If you are not sure, say N here.
+
+config LIBERTAS
+       tristate "Marvell 8xxx Libertas WLAN driver support"
+       depends on WLAN_80211
+       select IEEE80211
+       select FW_LOADER
+       ---help---
+         A library for Marvell Libertas 8xxx devices.
+
+config LIBERTAS_USB
+       tristate "Marvell Libertas 8388 USB 802.11b/g cards"
+       depends on LIBERTAS && USB
+       ---help---
+         A driver for Marvell Libertas 8388 USB devices.
+
+config LIBERTAS_CS
+       tristate "Marvell Libertas 8385 CompactFlash 802.11b/g cards"
+       depends on LIBERTAS && PCMCIA && EXPERIMENTAL
+       select FW_LOADER
+       ---help---
+         A driver for Marvell Libertas 8385 CompactFlash devices.
+
+config LIBERTAS_DEBUG
+       bool "Enable full debugging output in the Libertas module."
+       depends on LIBERTAS
+       ---help---
+         Debugging support.
+
 config AIRO
        tristate "Cisco/Aironet 34X/35X/4500/4800 ISA and PCI cards"
-       depends on NET_RADIO && ISA_DMA_API && (PCI || BROKEN)
+       depends on ISA_DMA_API && WLAN_80211 && (PCI || BROKEN)
+       select WIRELESS_EXT
        select CRYPTO
        ---help---
          This is the standard Linux driver to support Cisco/Aironet ISA and
@@ -306,9 +308,10 @@ config AIRO
 
 config HERMES
        tristate "Hermes chipset 802.11b support (Orinoco/Prism2/Symbol)"
-       depends on NET_RADIO && (PPC_PMAC || PCI || PCMCIA)
+       depends on (PPC_PMAC || PCI || PCMCIA) && WLAN_80211
+       select WIRELESS_EXT
        ---help---
-         A driver for 802.11b wireless cards based based on the "Hermes" or
+         A driver for 802.11b wireless cards based on the "Hermes" or
          Intersil HFA384x (Prism 2) MAC controller.  This includes the vast
          majority of the PCMCIA 802.11b cards (which are nearly all rebadges)
          - except for the Cisco/Aironet cards.  Cards supported include the
@@ -378,36 +381,9 @@ config PCI_HERMES
          common.  Some of the built-in wireless adaptors in laptops are of
          this variety.
 
-config ATMEL
-      tristate "Atmel at76c50x chipset  802.11b support"
-      depends on NET_RADIO && (PCI || PCMCIA)
-      select FW_LOADER
-      select CRC32
-       ---help---
-        A driver 802.11b wireless cards based on the Atmel fast-vnet
-        chips. This driver supports standard Linux wireless extensions. 
-        Many  cards based on this chipset do not have flash memory
-        and need their firmware loaded at start-up. If yours is 
-        one of these, you will need to provide a firmware image
-        to be loaded into the card by the driver. The Atmel
-        firmware package can be downloaded from
-        <http://www.thekelleys.org.uk/atmel>
-
-config PCI_ATMEL
-      tristate "Atmel at76c506 PCI cards"
-      depends on ATMEL && PCI
-       ---help---
-        Enable support for PCI and mini-PCI cards containing the
-        Atmel at76c506 chip.
-
-# If Pcmcia is compiled in, offer Pcmcia cards...
-comment "Wireless 802.11b Pcmcia/Cardbus cards support"
-       depends on NET_RADIO && PCMCIA
-
 config PCMCIA_HERMES
        tristate "Hermes PCMCIA card support"
-       depends on NET_RADIO && PCMCIA && HERMES
+       depends on PCMCIA && HERMES
        ---help---
          A driver for "Hermes" chipset based PCMCIA wireless adaptors, such
          as the Lucent WavelanIEEE/Orinoco cards and their OEM (Cabletron/
@@ -416,18 +392,13 @@ config PCMCIA_HERMES
          such as the Linksys, D-Link and Farallon Skyline.  It should also
          work on Symbol cards such as the 3Com AirConnect and Ericsson WLAN.
 
-         To use your PC-cards, you will need supporting software from David
-         Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
-         for location).  You also want to check out the PCMCIA-HOWTO,
-         available from <http://www.tldp.org/docs.html#howto>.
-
-         You will also very likely also need the Wireless Tools in order to
+         You will very likely need the Wireless Tools in order to
          configure your card and that /etc/pcmcia/wireless.opts works:
          <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.
 
 config PCMCIA_SPECTRUM
        tristate "Symbol Spectrum24 Trilogy PCMCIA card support"
-       depends on NET_RADIO && PCMCIA && HERMES
+       depends on PCMCIA && HERMES
        select FW_LOADER
        ---help---
 
@@ -439,10 +410,46 @@ config PCMCIA_SPECTRUM
          for downloading Symbol firmware are available at
          <http://sourceforge.net/projects/orinoco/>
 
+config ATMEL
+      tristate "Atmel at76c50x chipset  802.11b support"
+      depends on (PCI || PCMCIA) && WLAN_80211
+      select WIRELESS_EXT
+      select FW_LOADER
+      select CRC32
+       ---help---
+        A driver 802.11b wireless cards based on the Atmel fast-vnet
+        chips. This driver supports standard Linux wireless extensions.
+
+        Many  cards based on this chipset do not have flash memory
+        and need their firmware loaded at start-up. If yours is
+        one of these, you will need to provide a firmware image
+        to be loaded into the card by the driver. The Atmel
+        firmware package can be downloaded from
+        <http://www.thekelleys.org.uk/atmel>
+
+config PCI_ATMEL
+      tristate "Atmel at76c506 PCI cards"
+      depends on ATMEL && PCI
+       ---help---
+        Enable support for PCI and mini-PCI cards containing the
+        Atmel at76c506 chip.
+
+config PCMCIA_ATMEL
+       tristate "Atmel at76c502/at76c504 PCMCIA cards"
+       depends on ATMEL && PCMCIA
+       select WIRELESS_EXT
+       select FW_LOADER
+       select CRC32
+       ---help---
+         Enable support for PCMCIA cards containing the
+         Atmel at76c502 and at76c504 chips.
+
 config AIRO_CS
        tristate "Cisco/Aironet 34X/35X/4500/4800 PCMCIA cards"
-       depends on NET_RADIO && PCMCIA && (BROKEN || !M32R)
+       depends on PCMCIA && (BROKEN || !M32R) && WLAN_80211
+       select WIRELESS_EXT
        select CRYPTO
+       select CRYPTO_AES
        ---help---
          This is the standard Linux driver to support Cisco/Aironet PCMCIA
          802.11 wireless cards.  This driver is the same as the Aironet
@@ -457,33 +464,19 @@ config AIRO_CS
          and Cisco proprietary API, so both the Linux Wireless Tools and the
          Cisco Linux utilities can be used to configure the card.
 
-         To use your PC-cards, you will need supporting software from David
-         Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
-         for location).  You also want to check out the PCMCIA-HOWTO,
-         available from <http://www.tldp.org/docs.html#howto>.
-
-config PCMCIA_ATMEL
-       tristate "Atmel at76c502/at76c504 PCMCIA cards"
-       depends on NET_RADIO && ATMEL && PCMCIA
-       select FW_LOADER
-       select CRC32
-       ---help---
-         Enable support for PCMCIA cards containing the
-         Atmel at76c502 and at76c504 chips.
-
 config PCMCIA_WL3501
       tristate "Planet WL3501 PCMCIA cards"
-      depends on NET_RADIO && EXPERIMENTAL && PCMCIA
+      depends on EXPERIMENTAL && PCMCIA && WLAN_80211
+      select WIRELESS_EXT
        ---help---
          A driver for WL3501 PCMCIA 802.11 wireless cards made by Planet.
         It has basic support for Linux wireless extensions and initial
         micro support for ethtool.
 
-comment "Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support"
-       depends on NET_RADIO && PCI
 config PRISM54
        tristate 'Intersil Prism GT/Duette/Indigo PCI/Cardbus' 
-       depends on PCI && NET_RADIO && EXPERIMENTAL
+       depends on PCI && EXPERIMENTAL && WLAN_80211
+       select WIRELESS_EXT
        select FW_LOADER
        ---help---
          Enable PCI and Cardbus support for the following chipset based cards:
@@ -524,17 +517,70 @@ config PRISM54
          
          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 prism54.ko.
+         say M here and read <file:Documentation/kbuild/modules.txt>.
+         The module will be called prism54.ko.
+
+config USB_ZD1201
+       tristate "USB ZD1201 based Wireless device support"
+       depends on USB && WLAN_80211
+       select WIRELESS_EXT
+       select FW_LOADER
+       ---help---
+         Say Y if you want to use wireless LAN adapters based on the ZyDAS
+         ZD1201 chip.
+
+         This driver makes the adapter appear as a normal Ethernet interface,
+         typically on wlan0.
+
+         The zd1201 device requires external firmware to be loaded.
+         This can be found at http://linux-lc100020.sourceforge.net/
+
+         To compile this driver as a module, choose M here: the
+         module will be called zd1201.
+
+config RTL8187
+       tristate "Realtek 8187 USB support"
+       depends on MAC80211 && USB && WLAN_80211 && EXPERIMENTAL
+       select EEPROM_93CX6
+       ---help---
+         This is a driver for RTL8187 based cards.
+         These are USB based chips found in cards such as:
+
+         Netgear WG111v2
+
+         Thanks to Realtek for their support!
+
+config ADM8211
+       tristate "ADMtek ADM8211 support"
+       depends on MAC80211 && PCI && WLAN_80211 && EXPERIMENTAL
+       select CRC32
+       select EEPROM_93CX6
+       ---help---
+         This driver is for ADM8211A, ADM8211B, and ADM8211C based cards.
+         These are PCI/mini-PCI/Cardbus 802.11b chips found in cards such as:
+
+         Xterasys Cardbus XN-2411b
+         Blitz NetWave Point PC
+         TrendNet 221pc
+         Belkin F5D6001
+         SMC 2635W
+         Linksys WPC11 v1
+         Fiberline FL-WL-200X
+         3com Office Connect (3CRSHPW796)
+         Corega WLPCIB-11
+         SMC 2602W V2 EU
+         D-Link DWL-520 Revision C
+
+         However, some of these cards have been replaced with other chips
+         like the RTL8180L (Xterasys Cardbus XN-2411b, Belkin F5D6001) or
+         the Ralink RT2400 (SMC2635W) without a model number change.
+
+         Thanks to Infineon-ADMtek for their support of this driver.
 
 source "drivers/net/wireless/hostap/Kconfig"
 source "drivers/net/wireless/bcm43xx/Kconfig"
-
-# yes, this works even when no drivers are selected
-config NET_WIRELESS
-       bool
-       depends on NET_RADIO && (ISA || PCI || PPC_PMAC || PCMCIA)
-       default y
+source "drivers/net/wireless/b43/Kconfig"
+source "drivers/net/wireless/b43legacy/Kconfig"
+source "drivers/net/wireless/zd1211rw/Kconfig"
 
 endmenu
-