config BCM43XX
	tristate "Broadcom BCM43xx wireless support"
	depends on PCI && IEEE80211 && IEEE80211_SOFTMAC && NET_RADIO && EXPERIMENTAL
	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
