Merge tag 'livepatching-for-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-block.git] / net / bluetooth / Kconfig
CommitLineData
ec8f24b7 1# SPDX-License-Identifier: GPL-2.0-only
1da177e4
LT
2#
3# Bluetooth subsystem configuration
4#
5
6menuconfig BT
1da177e4 7 tristate "Bluetooth subsystem support"
864e898b 8 depends on !S390
1a097181 9 depends on RFKILL || !RFKILL
f1e91e16 10 select CRC16
daf4ce85 11 select CRYPTO
b95bba5d 12 select CRYPTO_SKCIPHER
28a220aa
AB
13 select CRYPTO_LIB_AES
14 imply CRYPTO_AES
407cecf6 15 select CRYPTO_CMAC
f1e91e16 16 select CRYPTO_ECB
5a349186 17 select CRYPTO_SHA256
58771c1c 18 select CRYPTO_ECDH
1da177e4
LT
19 help
20 Bluetooth is low-cost, low-power, short-range wireless technology.
21 It was designed as a replacement for cables and other short-range
22 technologies like IrDA. Bluetooth operates in personal area range
23 that typically extends up to 10 meters. More information about
d5baf620 24 Bluetooth can be found at <https://www.bluetooth.com/>.
1da177e4
LT
25
26 Linux Bluetooth subsystem consist of several layers:
f1e91e16
UF
27 Bluetooth Core
28 HCI device and connection manager, scheduler
29 SCO audio links
30 L2CAP (Logical Link Control and Adaptation Protocol)
31 SMP (Security Manager Protocol) on LE (Low Energy) links
1da177e4 32 HCI Device drivers (Interface to the hardware)
1da177e4
LT
33 RFCOMM Module (RFCOMM Protocol)
34 BNEP Module (Bluetooth Network Encapsulation Protocol)
35 CMTP Module (CAPI Message Transport Protocol)
36 HIDP Module (Human Interface Device Protocol)
37
38 Say Y here to compile Bluetooth support into the kernel or say M to
39 compile it as module (bluetooth).
40
41 To use Linux Bluetooth subsystem, you will need several user-space
a0019bca
GP
42 utilities like hciconfig and bluetoothd. These utilities and updates
43 to Bluetooth kernel modules are provided in the BlueZ packages. For
44 more information, see <http://www.bluez.org/>.
1da177e4 45
65efd2bf
MH
46config BT_BREDR
47 bool "Bluetooth Classic (BR/EDR) features"
48 depends on BT
49 default y
198ec9ae
PM
50 help
51 Bluetooth Classic includes support for Basic Rate (BR)
52 available with Bluetooth version 1.0b or later and support
53 for Enhanced Data Rate (EDR) available with Bluetooth
54 version 2.0 or later.
97550887 55
1da177e4
LT
56source "net/bluetooth/rfcomm/Kconfig"
57
58source "net/bluetooth/bnep/Kconfig"
59
60source "net/bluetooth/cmtp/Kconfig"
61
62source "net/bluetooth/hidp/Kconfig"
63
244bc377
AW
64config BT_HS
65 bool "Bluetooth High Speed (HS) features"
66 depends on BT_BREDR
198ec9ae
PM
67 help
68 Bluetooth High Speed includes support for off-loading
69 Bluetooth connections via 802.11 (wifi) physical layer
70 available with Bluetooth version 3.0 or later.
244bc377 71
65efd2bf
MH
72config BT_LE
73 bool "Bluetooth Low Energy (LE) features"
74 depends on BT
75 default y
198ec9ae
PM
76 help
77 Bluetooth Low Energy includes support low-energy physical
78 layer available with Bluetooth version 4.0 or later.
65efd2bf
MH
79
80config BT_6LOWPAN
81 tristate "Bluetooth 6LoWPAN support"
82 depends on BT_LE && 6LOWPAN
83 help
84 IPv6 compression over Bluetooth Low Energy.
85
6d5d2ee6
HK
86config BT_LEDS
87 bool "Enable LED triggers"
88 depends on BT
89 depends on LEDS_CLASS
90 select LEDS_TRIGGERS
91 help
92 This option selects a few LED triggers for different
93 Bluetooth events.
94
145373cb
MC
95config BT_MSFTEXT
96 bool "Enable Microsoft extensions"
97 depends on BT
98 help
99 This options enables support for the Microsoft defined HCI
100 vendor extensions.
101
3d233604
MH
102config BT_DEBUGFS
103 bool "Export Bluetooth internals in debugfs"
104 depends on BT && DEBUG_FS
105 default y
106 help
107 Provide extensive information about internal Bluetooth states
108 in debugfs.
109
ee485290
MH
110config BT_SELFTEST
111 bool "Bluetooth self testing support"
112 depends on BT && DEBUG_KERNEL
113 help
114 Run self tests when initializing the Bluetooth subsystem. This
115 is a developer option and can cause significant delay when booting
116 the system.
117
118 When the Bluetooth subsystem is built as module, then the test
119 cases are run first thing at module load time. When the Bluetooth
120 subsystem is compiled into the kernel image, then the test cases
121 are run late in the initcall hierarchy.
122
0b6415b6
JH
123config BT_SELFTEST_ECDH
124 bool "ECDH test cases"
125 depends on BT_LE && BT_SELFTEST
126 help
127 Run test cases for ECDH cryptographic functionality used by the
128 Bluetooth Low Energy Secure Connections feature.
129
0a2b0f04
JH
130config BT_SELFTEST_SMP
131 bool "SMP test cases"
132 depends on BT_LE && BT_SELFTEST
133 help
134 Run test cases for SMP cryptographic functionality, including both
135 legacy SMP as well as the Secure Connections features.
136
e625e50c
MH
137config BT_FEATURE_DEBUG
138 bool "Enable runtime option for debugging statements"
139 depends on BT && !DYNAMIC_DEBUG
140 help
141 This provides an option to enable/disable debugging statements
142 at runtime via the experimental features interface.
143
1da177e4 144source "drivers/bluetooth/Kconfig"