menuconfig WL12XX_MENU
	tristate "TI wl12xx driver support"
	depends on MAC80211 && EXPERIMENTAL
	---help---
	  This will enable TI wl12xx driver support for the following chips:
	  wl1271 and wl1273.
	  The drivers make use of the mac80211 stack.

config WL12XX
	tristate "TI wl12xx support"
	depends on WL12XX_MENU && GENERIC_HARDIRQS
	depends on INET
	select FW_LOADER
	select CRC7
	---help---
	  This module adds support for wireless adapters based on TI wl1271 and
	  TI wl1273 chipsets. This module does *not* include support for wl1251.
	  For wl1251 support, use the separate homonymous driver instead.

	  If you choose to build a module, it will be called wl12xx. Say N if
	  unsure.

config WL12XX_HT
        bool "TI wl12xx 802.11 HT support (EXPERIMENTAL)"
        depends on WL12XX && EXPERIMENTAL
        default n
        ---help---
          This will enable 802.11 HT support in the wl12xx module.

	  That configuration is temporary due to the code incomplete and
	  still in testing process.

config WL12XX_SPI
	tristate "TI wl12xx SPI support"
	depends on WL12XX && SPI_MASTER
	---help---
	  This module adds support for the SPI interface of adapters using
	  TI wl12xx chipsets.  Select this if your platform is using
	  the SPI bus.

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

config WL12XX_SDIO
	tristate "TI wl12xx SDIO support"
	depends on WL12XX && MMC
	---help---
	  This module adds support for the SDIO interface of adapters using
	  TI wl12xx chipsets.  Select this if your platform is using
	  the SDIO bus.

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

config WL12XX_SDIO_TEST
	tristate "TI wl12xx SDIO testing support"
	depends on WL12XX && MMC && WL12XX_SDIO
	default n
	---help---
	  This module adds support for the SDIO bus testing with the
	  TI wl12xx chipsets.  You probably don't want this unless you are
	  testing a new hardware platform.  Select this if you want to test the
	  SDIO bus which is connected to the wl12xx chip.

config WL12XX_PLATFORM_DATA
	bool
	depends on WL12XX_SDIO != n || WL1251_SDIO != n
	default y
