xref: /linux/net/bluetooth/Kconfig (revision b85d45947951d23cb22d90caecf4c1eb81342c96)
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_SELFTEST
73	bool "Bluetooth self testing support"
74	depends on BT && DEBUG_KERNEL
75	help
76	  Run self tests when initializing the Bluetooth subsystem.  This
77	  is a developer option and can cause significant delay when booting
78	  the system.
79
80	  When the Bluetooth subsystem is built as module, then the test
81	  cases are run first thing at module load time.  When the Bluetooth
82	  subsystem is compiled into the kernel image, then the test cases
83	  are run late in the initcall hierarchy.
84
85config BT_SELFTEST_ECDH
86	bool "ECDH test cases"
87	depends on BT_LE && BT_SELFTEST
88	help
89	  Run test cases for ECDH cryptographic functionality used by the
90	  Bluetooth Low Energy Secure Connections feature.
91
92config BT_SELFTEST_SMP
93	bool "SMP test cases"
94	depends on BT_LE && BT_SELFTEST
95	help
96	  Run test cases for SMP cryptographic functionality, including both
97	  legacy SMP as well as the Secure Connections features.
98
99config BT_DEBUGFS
100	bool "Export Bluetooth internals in debugfs"
101	depends on BT && DEBUG_FS
102	default y
103	help
104	  Provide extensive information about internal Bluetooth states
105	  in debugfs.
106
107source "drivers/bluetooth/Kconfig"
108