config BCM43XX
	tristate "Broadcom BCM43xx wireless support"
	depends on PCI && IEEE80211 && IEEE80211_SOFTMAC && WLAN_80211 && EXPERIMENTAL
	select WIRELESS_EXT
	select FW_LOADER
	select HW_RANDOM
	---help---
	  This is an experimental driver for the Broadcom 43xx wireless chip,
	  found in the Apple Airport Extreme and various other devices.

config BCM43XX_DEBUG
	bool "Broadcom BCM43xx debugging (RECOMMENDED)"
	depends on BCM43XX
	default y
	---help---
	  Broadcom 43xx debugging messages.
	  Say Y, because the driver is still very experimental and
	  this will help you get it running.

config BCM43XX_DMA
	bool
	depends on BCM43XX

config BCM43XX_PIO
	bool
	depends on BCM43XX

choice
	prompt "BCM43xx data transfer mode"
	depends on BCM43XX
	default BCM43XX_DMA_AND_PIO_MODE

config BCM43XX_DMA_AND_PIO_MODE
	bool "DMA + PIO"
	select BCM43XX_DMA
	select BCM43XX_PIO
	---help---
	  Include both, Direct Memory Access (DMA) and Programmed I/O (PIO)
	  data transfer modes.
	  The actually used mode is selectable through the module
	  parameter "pio". If the module parameter is pio=0, DMA is used.
	  Otherwise PIO is used. DMA is default.

	  If unsure, choose this option.

config BCM43XX_DMA_MODE
	bool "DMA (Direct Memory Access) only"
	select BCM43XX_DMA
	---help---
	  Only include Direct Memory Access (DMA).
	  This reduces the size of the driver module, by omitting the PIO code.

config BCM43XX_PIO_MODE
	bool "PIO (Programmed I/O) only"
	select BCM43XX_PIO
	---help---
	  Only include Programmed I/O (PIO).
	  This reduces the size of the driver module, by omitting the DMA code.
	  Please note that PIO transfers are slow (compared to DMA).

	  Also note that not all devices of the 43xx series support PIO.
	  The 4306 (Apple Airport Extreme and others) supports PIO, while
	  the 4318 is known to _not_ support PIO.

	  Only use PIO, if DMA does not work for you.

endchoice
