config WLAN_VENDOR_ATMEL
	bool "Atmel devices"
	default y
	---help---
	  If you have a wireless card belonging to this class, say Y.

	  Note that the answer to this question doesn't directly affect the
	  kernel: saying N will just cause the configurator to skip all the
	  questions about these cards. If you say Y, you will be asked for
	  your specific card in the following questions.

if WLAN_VENDOR_ATMEL

config ATMEL
      tristate "Atmel at76c50x chipset  802.11b support"
      depends on CFG80211 && (PCI || PCMCIA)
      select WIRELESS_EXT
      select WEXT_PRIV
      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 AT76C50X_USB
        tristate "Atmel at76c503/at76c505/at76c505a USB cards"
        depends on MAC80211 && USB
        select FW_LOADER
        ---help---
          Enable support for USB Wireless devices using Atmel at76c503,
          at76c505 or at76c505a chips.

endif # WLAN_VENDOR_ATMEL
