Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[linux-2.6] / drivers / net / wireless / b43 / Kconfig
1 config B43
2         tristate "Broadcom 43xx 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           b43 is a driver for the Broadcom 43xx series wireless devices.
9
10           Check "lspci" for something like
11           "Broadcom Corporation BCM43XX 802.11 Wireless LAN Controller"
12           to determine whether you own such a device.
13
14           This driver supports the new BCM43xx IEEE 802.11G devices, but not
15           the old IEEE 802.11B devices. Old devices are supported by
16           the b43legacy driver.
17           Note that this has nothing to do with the standard that your AccessPoint
18           supports (A, B, G or a combination).
19           IEEE 802.11G devices can talk to IEEE 802.11B AccessPoints.
20
21           It is safe to include both b43 and b43legacy as the underlying glue
22           layer will automatically load the correct version for your device.
23
24           This driver uses V4 firmware, which must be installed separately using
25           b43-fwcutter.
26
27           This driver can be built as a module (recommended) that will be called "b43".
28           If unsure, say M.
29
30 # Auto-select SSB PCI-HOST support, if possible
31 config B43_PCI_AUTOSELECT
32         bool
33         depends on B43 && SSB_PCIHOST_POSSIBLE
34         select SSB_PCIHOST
35         default y
36
37 # Auto-select SSB PCICORE driver, if possible
38 config B43_PCICORE_AUTOSELECT
39         bool
40         depends on B43 && SSB_DRIVER_PCICORE_POSSIBLE
41         select SSB_DRIVER_PCICORE
42         default y
43
44 config B43_PCMCIA
45         bool "Broadcom 43xx PCMCIA device support (EXPERIMENTAL)"
46         depends on B43 && SSB_PCMCIAHOST_POSSIBLE && EXPERIMENTAL
47         select SSB_PCMCIAHOST
48         ---help---
49           Broadcom 43xx PCMCIA device support.
50
51           Support for 16bit PCMCIA devices.
52           Please note that most PC-CARD devices are _NOT_ 16bit PCMCIA
53           devices, but 32bit CardBUS devices. CardBUS devices are supported
54           out of the box by b43.
55
56           With this config option you can drive b43 cards in
57           CompactFlash formfactor in a PCMCIA adaptor.
58           CF b43 cards can sometimes be found in handheld PCs.
59
60           It's safe to select Y here, even if you don't have a B43 PCMCIA device.
61
62           If unsure, say N.
63
64 # This config option automatically enables b43 LEDS support,
65 # if it's possible.
66 config B43_LEDS
67         bool
68         depends on B43 && MAC80211_LEDS && (LEDS_CLASS = y || LEDS_CLASS = B43)
69         default y
70
71 # This config option automatically enables b43 RFKILL support,
72 # if it's possible.
73 config B43_RFKILL
74         bool
75         depends on B43 && (RFKILL = y || RFKILL = B43) && RFKILL_INPUT && (INPUT_POLLDEV = y || INPUT_POLLDEV = B43)
76         default y
77
78 config B43_DEBUG
79         bool "Broadcom 43xx debugging"
80         depends on B43
81         ---help---
82           Broadcom 43xx debugging messages.
83
84           Say Y, if you want to find out why the driver does not
85           work for you.
86
87 config B43_DMA
88         bool
89         depends on B43
90 config B43_PIO
91         bool
92         depends on B43
93
94 choice
95         prompt "Broadcom 43xx data transfer mode"
96         depends on B43
97         default B43_DMA_AND_PIO_MODE
98
99 config B43_DMA_AND_PIO_MODE
100         bool "DMA + PIO"
101         select B43_DMA
102         select B43_PIO
103         ---help---
104           Include both, Direct Memory Access (DMA) and Programmed I/O (PIO)
105           data transfer modes.
106           The actually used mode is selectable through the module
107           parameter "pio". If the module parameter is pio=0, DMA is used.
108           Otherwise PIO is used. DMA is default.
109
110           If unsure, choose this option.
111
112 config B43_DMA_MODE
113         bool "DMA (Direct Memory Access) only"
114         select B43_DMA
115         ---help---
116           Only include Direct Memory Access (DMA).
117           This reduces the size of the driver module, by omitting the PIO code.
118
119 config B43_PIO_MODE
120         bool "PIO (Programmed I/O) only"
121         select B43_PIO
122         ---help---
123           Only include Programmed I/O (PIO).
124           This reduces the size of the driver module, by omitting the DMA code.
125           Please note that PIO transfers are slow (compared to DMA).
126
127           Also note that not all devices of the 43xx series support PIO.
128           The 4306 (Apple Airport Extreme and others) supports PIO, while
129           the 4318 is known to _not_ support PIO.
130
131           Only use PIO, if DMA does not work for you.
132
133 endchoice