Bluetooth: hci_ldisc: Use rwlocking to avoid closing proto races
[linux-block.git] / drivers / bluetooth / Kconfig
CommitLineData
1da177e4
LT
1
2menu "Bluetooth device drivers"
3 depends on BT
4
48f0ed1b
MH
5config BT_INTEL
6 tristate
d06f107b 7 select REGMAP
48f0ed1b 8
4fba30f0
MH
9config BT_BCM
10 tristate
1c8ba6d0 11 select FW_LOADER
4fba30f0 12
db33c77d
CC
13config BT_RTL
14 tristate
15 select FW_LOADER
16
83e81961
BYTK
17config BT_QCA
18 tristate
19 select FW_LOADER
20
5e23b923 21config BT_HCIBTUSB
9bfa35fe
MH
22 tristate "HCI USB driver"
23 depends on USB
4185a0f5 24 select BT_INTEL
5e23b923
MH
25 help
26 Bluetooth HCI USB driver.
27 This driver is required if you want to use Bluetooth devices with
28 USB interface.
29
5e23b923
MH
30 Say Y here to compile support for Bluetooth USB devices into the
31 kernel or say M to compile it as module (btusb).
32
c2bfb100
MH
33config BT_HCIBTUSB_BCM
34 bool "Broadcom protocol support"
35 depends on BT_HCIBTUSB
36 select BT_BCM
37 default y
38 help
39 The Broadcom protocol support enables firmware and patchram
40 download support for Broadcom Bluetooth controllers.
41
42 Say Y here to compile support for Broadcom protocol.
43
db33c77d
CC
44config BT_HCIBTUSB_RTL
45 bool "Realtek protocol support"
46 depends on BT_HCIBTUSB
47 select BT_RTL
48 default y
49 help
50 The Realtek protocol support enables firmware and configuration
51 download support for Realtek Bluetooth controllers.
52
53 Say Y here to compile support for Realtek protocol.
54
ddbaf13e
MH
55config BT_HCIBTSDIO
56 tristate "HCI SDIO driver"
57 depends on MMC
58 help
59 Bluetooth HCI SDIO driver.
60 This driver is required if you want to use Bluetooth device with
61 SDIO interface.
62
63 Say Y here to compile support for Bluetooth SDIO devices into the
64 kernel or say M to compile it as module (btsdio).
65
1da177e4
LT
66config BT_HCIUART
67 tristate "HCI UART driver"
4f73bc4d 68 depends on TTY
1da177e4
LT
69 help
70 Bluetooth HCI UART driver.
71 This driver is required if you want to use Bluetooth devices with
8ba8b4c0
SG
72 serial port interface. You will also need this driver if you have
73 UART based Bluetooth PCMCIA and CF devices like Xircom Credit Card
1da177e4
LT
74 adapter and BrainBoxes Bluetooth PC Card.
75
76 Say Y here to compile support for Bluetooth UART devices into the
77 kernel or say M to compile it as module (hci_uart).
78
1fb78fb6
AB
79config BT_HCIUART_SERDEV
80 bool
81 depends on SERIAL_DEV_BUS && BT_HCIUART
82 depends on SERIAL_DEV_BUS=y || SERIAL_DEV_BUS=BT_HCIUART
83 default y
84
1da177e4
LT
85config BT_HCIUART_H4
86 bool "UART (H4) protocol support"
87 depends on BT_HCIUART
88 help
8ba8b4c0
SG
89 UART (H4) is serial protocol for communication between Bluetooth
90 device and host. This protocol is required for most Bluetooth devices
91 with UART interface, including PCMCIA and CF cards.
1da177e4
LT
92
93 Say Y here to compile support for HCI UART (H4) protocol.
94
7bb31868
SR
95config BT_HCIUART_NOKIA
96 tristate "UART Nokia H4+ protocol support"
97 depends on BT_HCIUART
1fb78fb6 98 depends on BT_HCIUART_SERDEV
7bb31868
SR
99 depends on PM
100 help
101 Nokia H4+ is serial protocol for communication between Bluetooth
102 device and host. This protocol is required for Bluetooth devices
103 with UART interface in Nokia devices.
104
105 Say Y here to compile support for Nokia's H4+ protocol.
106
1da177e4
LT
107config BT_HCIUART_BCSP
108 bool "BCSP protocol support"
109 depends on BT_HCIUART
d3a8eab0 110 select BITREVERSE
1da177e4 111 help
8ba8b4c0 112 BCSP (BlueCore Serial Protocol) is serial protocol for communication
1da177e4
LT
113 between Bluetooth device and host. This protocol is required for non
114 USB Bluetooth devices based on CSR BlueCore chip, including PCMCIA and
115 CF cards.
116
117 Say Y here to compile support for HCI BCSP protocol.
118
b3190df6
SS
119config BT_HCIUART_ATH3K
120 bool "Atheros AR300x serial support"
121 depends on BT_HCIUART
d90aa682 122 select BT_HCIUART_H4
b3190df6
SS
123 help
124 HCIATH3K (HCI Atheros AR300x) is a serial protocol for
125 communication between host and Atheros AR300x Bluetooth devices.
126 This protocol enables AR300x chips to be enabled with
127 power management support.
128 Enable this if you have Atheros AR300x serial Bluetooth device.
129
130 Say Y here to compile support for HCI UART ATH3K protocol.
131
166d2f6a
OBC
132config BT_HCIUART_LL
133 bool "HCILL protocol support"
76c4969f 134 depends on BT_HCIUART_SERDEV
166d2f6a
OBC
135 help
136 HCILL (HCI Low Level) is a serial protocol for communication
137 between Bluetooth device and host. This protocol is required for
138 serial Bluetooth devices that are based on Texas Instruments'
139 BRF chips.
140
141 Say Y here to compile support for HCILL protocol.
142
7dec65c8
JH
143config BT_HCIUART_3WIRE
144 bool "Three-wire UART (H5) protocol support"
145 depends on BT_HCIUART
146 help
147 The HCI Three-wire UART Transport Layer makes it possible to
148 user the Bluetooth HCI over a serial port interface. The HCI
149 Three-wire UART Transport Layer assumes that the UART
150 communication may have bit errors, overrun errors or burst
151 errors and thereby making CTS/RTS lines unnecessary.
152
153 Say Y here to compile support for Three-wire UART protocol.
154
16e3887f
MH
155config BT_HCIUART_INTEL
156 bool "Intel protocol support"
157 depends on BT_HCIUART
ca93cee5 158 select BT_HCIUART_H4
bca03c95 159 select BT_INTEL
16e3887f
MH
160 help
161 The Intel protocol support enables Bluetooth HCI over serial
162 port interface for Intel Bluetooth controllers.
163
164 Say Y here to compile support for Intel protocol.
165
e9a2dd26
MH
166config BT_HCIUART_BCM
167 bool "Broadcom protocol support"
168 depends on BT_HCIUART
bdd8818e 169 select BT_HCIUART_H4
3e0ac12a 170 select BT_BCM
e9a2dd26
MH
171 help
172 The Broadcom protocol support enables Bluetooth HCI over serial
173 port interface for Broadcom Bluetooth controllers.
174
175 Say Y here to compile support for Broadcom protocol.
176
0ff252c1
BYTK
177config BT_HCIUART_QCA
178 bool "Qualcomm Atheros protocol support"
179 depends on BT_HCIUART
180 select BT_HCIUART_H4
181 select BT_QCA
182 help
183 The Qualcomm Atheros protocol supports HCI In-Band Sleep feature
184 over serial port interface(H4) between controller and host.
185 This protocol is required for UART clock control for QCA Bluetooth
186 devices.
187
188 Say Y here to compile support for QCA protocol.
189
395174bb
LP
190config BT_HCIUART_AG6XX
191 bool "Intel AG6XX protocol support"
192 depends on BT_HCIUART
193 select BT_HCIUART_H4
194 select BT_INTEL
195 help
196 The Intel/AG6XX protocol support enables Bluetooth HCI over serial
197 port interface for Intel ibt 2.1 Bluetooth controllers.
198
199 Say Y here to compile support for Intel AG6XX protocol.
162f812f
LP
200
201config BT_HCIUART_MRVL
202 bool "Marvell protocol support"
203 depends on BT_HCIUART
204 select BT_HCIUART_H4
205 help
206 Marvell is serial protocol for communication between Bluetooth
207 device and host. This protocol is required for most Marvell Bluetooth
208 devices with UART interface.
209
210 Say Y here to compile support for HCI MRVL protocol.
395174bb 211
1da177e4
LT
212config BT_HCIBCM203X
213 tristate "HCI BCM203x USB driver"
214 depends on USB
215 select FW_LOADER
216 help
217 Bluetooth HCI BCM203x USB driver.
218 This driver provides the firmware loading mechanism for the Broadcom
219 Blutonium based devices.
220
221 Say Y here to compile support for HCI BCM203x devices into the
222 kernel or say M to compile it as module (bcm203x).
223
224config BT_HCIBPA10X
225 tristate "HCI BPA10x USB driver"
7841d06e 226 depends on USB && BT_HCIUART
943cc592 227 select BT_HCIUART_H4
1da177e4
LT
228 help
229 Bluetooth HCI BPA10x USB driver.
230 This driver provides support for the Digianswer BPA 100/105 Bluetooth
231 sniffer devices.
232
233 Say Y here to compile support for HCI BPA10x devices into the
234 kernel or say M to compile it as module (bpa10x).
235
236config BT_HCIBFUSB
237 tristate "HCI BlueFRITZ! USB driver"
238 depends on USB
239 select FW_LOADER
240 help
241 Bluetooth HCI BlueFRITZ! USB driver.
242 This driver provides support for Bluetooth USB devices with AVM
243 interface:
244 AVM BlueFRITZ! USB
245
246 Say Y here to compile support for HCI BFUSB devices into the
247 kernel or say M to compile it as module (bfusb).
248
249config BT_HCIDTL1
250 tristate "HCI DTL1 (PC Card) driver"
251 depends on PCMCIA
252 help
253 Bluetooth HCI DTL1 (PC Card) driver.
254 This driver provides support for Bluetooth PCMCIA devices with
255 Nokia DTL1 interface:
256 Nokia Bluetooth Card
257 Socket Bluetooth CF Card
258
259 Say Y here to compile support for HCI DTL1 devices into the
260 kernel or say M to compile it as module (dtl1_cs).
261
262config BT_HCIBT3C
263 tristate "HCI BT3C (PC Card) driver"
264 depends on PCMCIA
265 select FW_LOADER
266 help
267 Bluetooth HCI BT3C (PC Card) driver.
268 This driver provides support for Bluetooth PCMCIA devices with
269 3Com BT3C interface:
270 3Com Bluetooth Card (3CRWB6096)
271 HP Bluetooth Card
272
273 Say Y here to compile support for HCI BT3C devices into the
274 kernel or say M to compile it as module (bt3c_cs).
275
276config BT_HCIBLUECARD
277 tristate "HCI BlueCard (PC Card) driver"
278 depends on PCMCIA
279 help
280 Bluetooth HCI BlueCard (PC Card) driver.
281 This driver provides support for Bluetooth PCMCIA devices with
282 Anycom BlueCard interface:
283 Anycom Bluetooth PC Card
284 Anycom Bluetooth CF Card
285
286 Say Y here to compile support for HCI BlueCard devices into the
287 kernel or say M to compile it as module (bluecard_cs).
288
289config BT_HCIBTUART
290 tristate "HCI UART (PC Card) device driver"
291 depends on PCMCIA
292 help
293 Bluetooth HCI UART (PC Card) driver.
294 This driver provides support for Bluetooth PCMCIA devices with
295 an UART interface:
296 Xircom CreditCard Bluetooth Adapter
297 Xircom RealPort2 Bluetooth Adapter
298 Sphinx PICO Card
299 H-Soft blue+Card
300 Cyber-blue Compact Flash Card
301
302 Say Y here to compile support for HCI UART devices into the
303 kernel or say M to compile it as module (btuart_cs).
304
305config BT_HCIVHCI
306 tristate "HCI VHCI (Virtual HCI device) driver"
307 help
308 Bluetooth Virtual HCI device driver.
309 This driver is required if you want to use HCI Emulation software.
310
311 Say Y here to compile support for virtual HCI devices into the
312 kernel or say M to compile it as module (hci_vhci).
313
132ff4e5
BZ
314config BT_MRVL
315 tristate "Marvell Bluetooth driver support"
132ff4e5
BZ
316 help
317 The core driver to support Marvell Bluetooth devices.
318
319 This driver is required if you want to support
f0ef6748 320 Marvell Bluetooth devices, such as 8688/8787/8797/8887/8897/8997.
132ff4e5
BZ
321
322 Say Y here to compile Marvell Bluetooth driver
323 into the kernel or say M to compile it as module.
324
789221ec
BZ
325config BT_MRVL_SDIO
326 tristate "Marvell BT-over-SDIO driver"
327 depends on BT_MRVL && MMC
e7a25f98 328 select FW_LOADER
dc759613 329 select WANT_DEV_COREDUMP
789221ec
BZ
330 help
331 The driver for Marvell Bluetooth chipsets with SDIO interface.
332
333 This driver is required if you want to use Marvell Bluetooth
f0ef6748 334 devices with SDIO interface. Currently SD8688/SD8787/SD8797/SD8887/SD8897/SD8997
2ac654f7 335 chipsets are supported.
789221ec
BZ
336
337 Say Y here to compile support for Marvell BT-over-SDIO driver
338 into the kernel or say M to compile it as module.
339
9670d80a
VK
340config BT_ATH3K
341 tristate "Atheros firmware download driver"
342 depends on BT_HCIBTUSB
343 select FW_LOADER
344 help
345 Bluetooth firmware download driver.
346 This driver loads the firmware into the Atheros Bluetooth
347 chipset.
1da177e4 348
9670d80a
VK
349 Say Y here to compile support for "Atheros firmware download driver"
350 into the kernel or say M to compile it as module (ath3k).
351
363907af
PS
352config BT_WILINK
353 tristate "Texas Instruments WiLink7 driver"
354 depends on TI_ST
355 help
356 This enables the Bluetooth driver for Texas Instrument's BT/FM/GPS
357 combo devices. This makes use of shared transport line discipline
358 core driver to communicate with the BT core of the combo chip.
359
360 Say Y here to compile support for Texas Instrument's WiLink7 driver
22e8ee12
PM
361 into the kernel or say M to compile it as module (btwilink).
362
1511cc75
BA
363config BT_QCOMSMD
364 tristate "Qualcomm SMD based HCI support"
5052de8d 365 depends on RPMSG || (COMPILE_TEST && RPMSG=n)
6e9e6cc8 366 depends on QCOM_WCNSS_CTRL || (COMPILE_TEST && QCOM_WCNSS_CTRL=n)
1511cc75
BA
367 select BT_QCA
368 help
369 Qualcomm SMD based HCI driver.
370 This driver is used to bridge HCI data onto the shared memory
371 channels to the WCNSS core.
372
373 Say Y here to compile support for HCI over Qualcomm SMD into the
374 kernel or say M to compile as a module.
375
9670d80a 376endmenu