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 && 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
	---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.


