Skip to content

Commit 75388ac

Browse files
lwfingerDavid S. Miller
authored andcommitted
[B43LEGACY]: add mac80211-based driver for legacy BCM43xx devices
Signed-off-by: Larry Finger <[email protected]> Signed-off-by: John W. Linville <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent e4d6b79 commit 75388ac

File tree

26 files changed

+14848
-0
lines changed

26 files changed

+14848
-0
lines changed

MAINTAINERS

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -804,6 +804,13 @@ L: [email protected]
804804
W: http://bcm43xx.berlios.de/
805805
S: Maintained
806806

807+
B43LEGACY WIRELESS DRIVER
808+
P: Larry Finger
809+
810+
811+
W: http://bcm43xx.berlios.de/
812+
S: Maintained
813+
807814
BCM43XX WIRELESS DRIVER (SOFTMAC BASED VERSION)
808815
P: Larry Finger
809816

drivers/net/wireless/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -580,6 +580,7 @@ config ADM8211
580580
source "drivers/net/wireless/hostap/Kconfig"
581581
source "drivers/net/wireless/bcm43xx/Kconfig"
582582
source "drivers/net/wireless/b43/Kconfig"
583+
source "drivers/net/wireless/b43legacy/Kconfig"
583584
source "drivers/net/wireless/zd1211rw/Kconfig"
584585

585586
endmenu

drivers/net/wireless/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ obj-$(CONFIG_PRISM54) += prism54/
3737
obj-$(CONFIG_HOSTAP) += hostap/
3838
obj-$(CONFIG_BCM43XX) += bcm43xx/
3939
obj-$(CONFIG_B43) += b43/
40+
obj-$(CONFIG_B43LEGACY) += b43legacy/
4041
obj-$(CONFIG_ZD1211RW) += zd1211rw/
4142

4243
# 16-bit wireless PCMCIA client drivers
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
config B43LEGACY
2+
tristate "Broadcom 43xx-legacy wireless support (mac80211 stack)"
3+
depends on SSB_POSSIBLE && MAC80211 && WLAN_80211
4+
select SSB
5+
select FW_LOADER
6+
select HW_RANDOM
7+
---help---
8+
b43legacy is a driver for 802.11b devices from Broadcom (BCM4301 and
9+
BCM4303) and early model 802.11g chips (BCM4306 Ver. 2) used in the
10+
Linksys WPC54G V1 PCMCIA devices.
11+
12+
Newer 802.11g and 802.11a devices need b43.
13+
14+
It is safe to include both b43 and b43legacy as the underlying glue
15+
layer will automatically load the correct version for your device.
16+
17+
This driver uses V3 firmware, which must be installed separately using
18+
b43-fwcutter.
19+
20+
This driver can be built as a module (recommended) that will be
21+
called "b43legacy". If unsure, say M.
22+
23+
# Auto-select SSB PCI-HOST support, if possible
24+
config B43LEGACY_PCI_AUTOSELECT
25+
bool
26+
depends on B43LEGACY && SSB_PCIHOST_POSSIBLE
27+
select SSB_PCIHOST
28+
default y
29+
30+
# Auto-select SSB PCICORE driver, if possible
31+
config B43LEGACY_PCICORE_AUTOSELECT
32+
bool
33+
depends on B43LEGACY && SSB_DRIVER_PCICORE_POSSIBLE
34+
select SSB_DRIVER_PCICORE
35+
default y
36+
37+
config B43LEGACY_DEBUG
38+
bool "Broadcom 43xx-legacy debugging"
39+
depends on B43LEGACY
40+
default y
41+
---help---
42+
Say Y, because this information will help you get the driver running.
43+
This option generates a minimum of log output.
44+
45+
config B43LEGACY_DMA
46+
bool
47+
depends on B43LEGACY
48+
49+
config B43LEGACY_PIO
50+
bool
51+
depends on B43LEGACY
52+
53+
choice
54+
prompt "Broadcom 43xx-legacy data transfer mode"
55+
depends on B43LEGACY
56+
default B43LEGACY_DMA_AND_PIO_MODE
57+
58+
config B43LEGACY_DMA_AND_PIO_MODE
59+
bool "DMA + PIO"
60+
select B43LEGACY_DMA
61+
select B43LEGACY_PIO
62+
---help---
63+
Include both, Direct Memory Access (DMA) and Programmed I/O (PIO)
64+
data transfer modes. The mode actually used is selectable through
65+
the module parameter "pio". With pio=0 as a module parameter, the
66+
default DMA is used, otherwise PIO is used.
67+
68+
If unsure, choose this option.
69+
70+
config B43LEGACY_DMA_MODE
71+
bool "DMA (Direct Memory Access) only"
72+
select B43LEGACY_DMA
73+
---help---
74+
Only include Direct Memory Access (DMA).
75+
This reduces the size of the driver module, by omitting the PIO code.
76+
77+
config B43LEGACY_PIO_MODE
78+
bool "PIO (Programmed I/O) only"
79+
select B43LEGACY_PIO
80+
---help---
81+
Only include Programmed I/O (PIO).
82+
This reduces the size of the driver module, by omitting the DMA code.
83+
Please note that PIO transfers are slow (compared to DMA).
84+
85+
Also note that not all devices of the b43legacy series support PIO.
86+
87+
You should use PIO only if DMA does not work for you.
88+
89+
endchoice
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
obj-$(CONFIG_B43LEGACY) += b43legacy.o
2+
b43legacy-obj-$(CONFIG_B43LEGACY_DEBUG) += debugfs.o
3+
4+
b43legacy-obj-$(CONFIG_B43LEGACY_DMA) += dma.o
5+
b43legacy-obj-$(CONFIG_B43LEGACY_PIO) += pio.o
6+
7+
b43legacy-objs := main.o \
8+
ilt.o \
9+
leds.o \
10+
phy.o \
11+
radio.o \
12+
sysfs.o \
13+
xmit.o \
14+
$(b43legacy-obj-y)

0 commit comments

Comments
 (0)