Merge tag 'ceph-for-6.9-rc1' of https://github.com/ceph/ceph-client
[linux-2.6-microblaze.git] / net / bluetooth / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Bluetooth subsystem configuration
4 #
5
6 menuconfig BT
7         tristate "Bluetooth subsystem support"
8         depends on !S390
9         depends on RFKILL || !RFKILL
10         select CRC16
11         select CRYPTO
12         select CRYPTO_SKCIPHER
13         select CRYPTO_LIB_AES
14         imply CRYPTO_AES
15         select CRYPTO_CMAC
16         select CRYPTO_ECB
17         select CRYPTO_SHA256
18         select CRYPTO_ECDH
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
24           Bluetooth can be found at <https://www.bluetooth.com/>.
25
26           Linux Bluetooth subsystem consist of several layers:
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
32                 ISO isochronous links
33              HCI Device drivers (Interface to the hardware)
34              RFCOMM Module (RFCOMM Protocol)  
35              BNEP Module (Bluetooth Network Encapsulation Protocol)
36              CMTP Module (CAPI Message Transport Protocol)
37              HIDP Module (Human Interface Device Protocol)
38
39           Say Y here to compile Bluetooth support into the kernel or say M to
40           compile it as module (bluetooth).
41
42           To use Linux Bluetooth subsystem, you will need several user-space
43           utilities like hciconfig and bluetoothd.  These utilities and updates
44           to Bluetooth kernel modules are provided in the BlueZ packages.  For
45           more information, see <http://www.bluez.org/>.
46
47 config BT_BREDR
48         bool "Bluetooth Classic (BR/EDR) features"
49         depends on BT
50         default y
51         help
52           Bluetooth Classic includes support for Basic Rate (BR)
53           available with Bluetooth version 1.0b or later and support
54           for Enhanced Data Rate (EDR) available with Bluetooth
55           version 2.0 or later.
56
57 source "net/bluetooth/rfcomm/Kconfig"
58
59 source "net/bluetooth/bnep/Kconfig"
60
61 source "net/bluetooth/cmtp/Kconfig"
62
63 source "net/bluetooth/hidp/Kconfig"
64
65 config BT_LE
66         bool "Bluetooth Low Energy (LE) features"
67         depends on BT
68         default y
69         help
70           Bluetooth Low Energy includes support low-energy physical
71           layer available with Bluetooth version 4.0 or later.
72
73 config BT_LE_L2CAP_ECRED
74         bool "Bluetooth L2CAP Enhanced Credit Flow Control"
75         depends on BT_LE
76         default y
77         help
78           Bluetooth Low Energy L2CAP Enhanced Credit Flow Control available with
79           Bluetooth version 5.2 or later.
80
81           This can be overridden by passing bluetooth.enable_ecred=[1|0]
82           on the kernel commandline.
83
84 config BT_6LOWPAN
85         tristate "Bluetooth 6LoWPAN support"
86         depends on BT_LE && 6LOWPAN
87         help
88           IPv6 compression over Bluetooth Low Energy.
89
90 config BT_LEDS
91         bool "Enable LED triggers"
92         depends on BT
93         depends on LEDS_CLASS
94         select LEDS_TRIGGERS
95         help
96           This option selects a few LED triggers for different
97           Bluetooth events.
98
99 config BT_MSFTEXT
100         bool "Enable Microsoft extensions"
101         depends on BT
102         help
103           This options enables support for the Microsoft defined HCI
104           vendor extensions.
105
106 config BT_AOSPEXT
107         bool "Enable Android Open Source Project extensions"
108         depends on BT
109         help
110           This options enables support for the Android Open Source
111           Project defined HCI vendor extensions.
112
113 config BT_DEBUGFS
114         bool "Export Bluetooth internals in debugfs"
115         depends on BT && DEBUG_FS
116         default y
117         help
118           Provide extensive information about internal Bluetooth states
119           in debugfs.
120
121 config BT_SELFTEST
122         bool "Bluetooth self testing support"
123         depends on BT && DEBUG_KERNEL
124         help
125           Run self tests when initializing the Bluetooth subsystem.  This
126           is a developer option and can cause significant delay when booting
127           the system.
128
129           When the Bluetooth subsystem is built as module, then the test
130           cases are run first thing at module load time.  When the Bluetooth
131           subsystem is compiled into the kernel image, then the test cases
132           are run late in the initcall hierarchy.
133
134 config BT_SELFTEST_ECDH
135         bool "ECDH test cases"
136         depends on BT_LE && BT_SELFTEST
137         help
138           Run test cases for ECDH cryptographic functionality used by the
139           Bluetooth Low Energy Secure Connections feature.
140
141 config BT_SELFTEST_SMP
142         bool "SMP test cases"
143         depends on BT_LE && BT_SELFTEST
144         help
145           Run test cases for SMP cryptographic functionality, including both
146           legacy SMP as well as the Secure Connections features.
147
148 config BT_FEATURE_DEBUG
149         bool "Enable runtime option for debugging statements"
150         depends on BT && !DYNAMIC_DEBUG
151         help
152           This provides an option to enable/disable debugging statements
153           at runtime via the experimental features interface.
154
155 source "drivers/bluetooth/Kconfig"