menuconfig WL12XX
	tristate "TI wl12xx driver support"
	depends on MAC80211 && EXPERIMENTAL
	---help---
	  This will enable TI wl12xx driver support. The drivers make
	  use of the mac80211 stack.

config WL1251
	tristate "TI wl1251 support"
	depends on WL12XX && GENERIC_HARDIRQS
	select FW_LOADER
	select CRC7
	---help---
	  This module adds support for wireless adapters based on
	  TI wl1251 chipset.

	  If you choose to build a module, it'll be called wl1251. Say
	  N if unsure.

config WL1251_SPI
	tristate "TI wl1251 SPI support"
	depends on WL1251 && SPI_MASTER
	---help---
	  This module adds support for the SPI interface of adapters using
	  TI wl1251 chipset.  Select this if your platform is using
	  the SPI bus.

	  If you choose to build a module, it'll be called wl1251_spi.
	  Say N if unsure.

config WL1251_SDIO
	tristate "TI wl1251 SDIO support"
	depends on WL1251 && MMC
	---help---
	  This module adds support for the SDIO interface of adapters using
	  TI wl1251 chipset.  Select this if your platform is using
	  the SDIO bus.

	  If you choose to build a module, it'll be called
	  wl1251_sdio. Say N if unsure.

config WL1271
	tristate "TI wl1271 support"
	depends on WL12XX && SPI_MASTER && GENERIC_HARDIRQS
	depends on INET
	select FW_LOADER
	select CRC7
	---help---
	  This module adds support for wireless adapters based on the
	  TI wl1271 chipset.

	  If you choose to build a module, it'll be called wl1271. Say N if
	  unsure.

config WL1271_SPI
	tristate "TI wl1271 SPI support"
	depends on WL1271 && SPI_MASTER
	---help---
	  This module adds support for the SPI interface of adapters using
	  TI wl1271 chipset.  Select this if your platform is using
	  the SPI bus.

	  If you choose to build a module, it'll be called wl1251_spi.
	  Say N if unsure.

config WL1271_SDIO
	tristate "TI wl1271 SDIO support"
	depends on WL1271 && MMC && ARM
	---help---
	  This module adds support for the SDIO interface of adapters using
	  TI wl1271 chipset.  Select this if your platform is using
	  the SDIO bus.

	  If you choose to build a module, it'll be called
	  wl1271_sdio. Say N if unsure.


