Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

# SPDX-License-Identifier: GPL-2.0-only
config CONFIG_B43LEGACY
	tristate "Broadcom 43xx-legacy wireless support (mac80211 stack)"
	depends on CONFIG_SSB_POSSIBLE && CONFIG_MAC80211 && CONFIG_HAS_DMA
	select CONFIG_SSB
	select CONFIG_FW_LOADER
	---help---
	  b43legacy is a driver for 802.11b devices from Broadcom (BCM4301 and
	  BCM4303) and early model 802.11g chips (BCM4306 Ver. 2) used in the
	  Linksys WPC54G V1 CONFIG_PCMCIA devices.

	  Newer 802.11g and 802.11a devices need b43.

	  It is safe to include both b43 and b43legacy as the underlying glue
	  layer will automatically load the correct version for your device.

	  This driver uses V3 firmware, which must be installed separately using
	  b43-fwcutter.

	  This driver can be built as a module (recommended) that will be
	  called "b43legacy". If unsure, say CONFIG_M.

# Auto-select CONFIG_SSB CONFIG_PCI-HOST support, if possible
config CONFIG_B43LEGACY_PCI_AUTOSELECT
	bool
	depends on CONFIG_B43LEGACY && CONFIG_SSB_PCIHOST_POSSIBLE
	select CONFIG_SSB_PCIHOST
	select CONFIG_SSB_B43_PCI_BRIDGE
	default y

# Auto-select CONFIG_SSB PCICORE driver, if possible
config CONFIG_B43LEGACY_PCICORE_AUTOSELECT
	bool
	depends on CONFIG_B43LEGACY && CONFIG_SSB_DRIVER_PCICORE_POSSIBLE
	select CONFIG_SSB_DRIVER_PCICORE
	default y

# LED support
# This config option automatically enables b43legacy CONFIG_LEDS support,
# if it's possible.
config CONFIG_B43LEGACY_LEDS
	bool
	depends on CONFIG_B43LEGACY && CONFIG_MAC80211_LEDS && (CONFIG_LEDS_CLASS = y || CONFIG_LEDS_CLASS = CONFIG_B43LEGACY)
	default y

# This config option automatically enables b43 HW-RNG support,
# if the HW-RNG core is enabled.
config CONFIG_B43LEGACY_HWRNG
	bool
	depends on CONFIG_B43LEGACY && (CONFIG_HW_RANDOM = y || CONFIG_HW_RANDOM = CONFIG_B43LEGACY)
	default y

config CONFIG_B43LEGACY_DEBUG
	bool "Broadcom 43xx-legacy debugging"
	depends on CONFIG_B43LEGACY
	default y
	---help---
	  Say Y, because this information will help you get the driver running.
	  This option generates a minimum of log output.

config CONFIG_B43LEGACY_DMA
	bool
	depends on CONFIG_B43LEGACY

config CONFIG_B43LEGACY_PIO
	bool
	depends on CONFIG_B43LEGACY

choice
	prompt "Broadcom 43xx-legacy data transfer mode"
	depends on CONFIG_B43LEGACY
	default CONFIG_B43LEGACY_DMA_AND_PIO_MODE

config CONFIG_B43LEGACY_DMA_AND_PIO_MODE
	bool "DMA + PIO"
	select CONFIG_B43LEGACY_DMA
	select CONFIG_B43LEGACY_PIO
	---help---
	  Include both, Direct Memory Access (DMA) and Programmed I/O (PIO)
	  data transfer modes. The mode actually used is selectable through
	  the module parameter "pio". With pio=0 as a module parameter, the
	  default DMA is used, otherwise PIO is used.

	  If unsure, choose this option.

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

config CONFIG_B43LEGACY_PIO_MODE
	bool "PIO (Programmed I/O) only"
	select CONFIG_B43LEGACY_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 b43legacy series support PIO.

	  You should use PIO only if DMA does not work for you.

endchoice