xref: /linux/net/bluetooth/Kconfig (revision f3a8b6645dc2e60d11f20c1c23afd964ff4e55ae)
1#
2# Bluetooth subsystem configuration
3#
4
5menuconfig BT
6	tristate "Bluetooth subsystem support"
7	depends on NET && !S390
8	depends on RFKILL || !RFKILL
9	select CRC16
10	select CRYPTO
11	select CRYPTO_BLKCIPHER
12	select CRYPTO_AES
13	select CRYPTO_CMAC
14	select CRYPTO_ECB
15	select CRYPTO_SHA256
16	help
17	  Bluetooth is low-cost, low-power, short-range wireless technology.
18	  It was designed as a replacement for cables and other short-range
19	  technologies like IrDA.  Bluetooth operates in personal area range
20	  that typically extends up to 10 meters.  More information about
21	  Bluetooth can be found at <http://www.bluetooth.com/>.
22
23	  Linux Bluetooth subsystem consist of several layers:
24	     Bluetooth Core
25		HCI device and connection manager, scheduler
26		SCO audio links
27		L2CAP (Logical Link Control and Adaptation Protocol)
28		SMP (Security Manager Protocol) on LE (Low Energy) links
29	     HCI Device drivers (Interface to the hardware)
30	     RFCOMM Module (RFCOMM Protocol)
31	     BNEP Module (Bluetooth Network Encapsulation Protocol)
32	     CMTP Module (CAPI Message Transport Protocol)
33	     HIDP Module (Human Interface Device Protocol)
34
35	  Say Y here to compile Bluetooth support into the kernel or say M to
36	  compile it as module (bluetooth).
37
38	  To use Linux Bluetooth subsystem, you will need several user-space
39	  utilities like hciconfig and bluetoothd.  These utilities and updates
40	  to Bluetooth kernel modules are provided in the BlueZ packages.  For
41	  more information, see <http://www.bluez.org/>.
42
43config BT_BREDR
44	bool "Bluetooth Classic (BR/EDR) features"
45	depends on BT
46	default y
47
48source "net/bluetooth/rfcomm/Kconfig"
49
50source "net/bluetooth/bnep/Kconfig"
51
52source "net/bluetooth/cmtp/Kconfig"
53
54source "net/bluetooth/hidp/Kconfig"
55
56config BT_HS
57	bool "Bluetooth High Speed (HS) features"
58	depends on BT_BREDR
59	default y
60
61config BT_LE
62	bool "Bluetooth Low Energy (LE) features"
63	depends on BT
64	default y
65
66config BT_6LOWPAN
67	tristate "Bluetooth 6LoWPAN support"
68	depends on BT_LE && 6LOWPAN
69	help
70	  IPv6 compression over Bluetooth Low Energy.
71
72config BT_LEDS
73	bool "Enable LED triggers"
74	depends on BT
75	depends on LEDS_CLASS
76	select LEDS_TRIGGERS
77	help
78	  This option selects a few LED triggers for different
79	  Bluetooth events.
80
81config BT_SELFTEST
82	bool "Bluetooth self testing support"
83	depends on BT && DEBUG_KERNEL
84	help
85	  Run self tests when initializing the Bluetooth subsystem.  This
86	  is a developer option and can cause significant delay when booting
87	  the system.
88
89	  When the Bluetooth subsystem is built as module, then the test
90	  cases are run first thing at module load time.  When the Bluetooth
91	  subsystem is compiled into the kernel image, then the test cases
92	  are run late in the initcall hierarchy.
93
94config BT_SELFTEST_ECDH
95	bool "ECDH test cases"
96	depends on BT_LE && BT_SELFTEST
97	help
98	  Run test cases for ECDH cryptographic functionality used by the
99	  Bluetooth Low Energy Secure Connections feature.
100
101config BT_SELFTEST_SMP
102	bool "SMP test cases"
103	depends on BT_LE && BT_SELFTEST
104	help
105	  Run test cases for SMP cryptographic functionality, including both
106	  legacy SMP as well as the Secure Connections features.
107
108config BT_DEBUGFS
109	bool "Export Bluetooth internals in debugfs"
110	depends on BT && DEBUG_FS
111	default y
112	help
113	  Provide extensive information about internal Bluetooth states
114	  in debugfs.
115
116source "drivers/bluetooth/Kconfig"
117