mirror of
https://github.com/torvalds/linux.git
synced 2024-12-28 22:02:28 +00:00
b24413180f
Many source files in the tree are missing licensing information, which makes it harder for compliance tools to determine the correct license. By default all files without license information are under the default license of the kernel, which is GPL version 2. Update the files which contain no license information with the 'GPL-2.0' SPDX license identifier. The SPDX identifier is a legally binding shorthand, which can be used instead of the full boiler plate text. This patch is based on work done by Thomas Gleixner and Kate Stewart and Philippe Ombredanne. How this work was done: Patches were generated and checked against linux-4.14-rc6 for a subset of the use cases: - file had no licensing information it it. - file was a */uapi/* one with no licensing information in it, - file was a */uapi/* one with existing licensing information, Further patches will be generated in subsequent months to fix up cases where non-standard license headers were used, and references to license had to be inferred by heuristics based on keywords. The analysis to determine which SPDX License Identifier to be applied to a file was done in a spreadsheet of side by side results from of the output of two independent scanners (ScanCode & Windriver) producing SPDX tag:value files created by Philippe Ombredanne. Philippe prepared the base worksheet, and did an initial spot review of a few 1000 files. The 4.13 kernel was the starting point of the analysis with 60,537 files assessed. Kate Stewart did a file by file comparison of the scanner results in the spreadsheet to determine which SPDX license identifier(s) to be applied to the file. She confirmed any determination that was not immediately clear with lawyers working with the Linux Foundation. Criteria used to select files for SPDX license identifier tagging was: - Files considered eligible had to be source code files. - Make and config files were included as candidates if they contained >5 lines of source - File already had some variant of a license header in it (even if <5 lines). All documentation files were explicitly excluded. The following heuristics were used to determine which SPDX license identifiers to apply. - when both scanners couldn't find any license traces, file was considered to have no license information in it, and the top level COPYING file license applied. For non */uapi/* files that summary was: SPDX license identifier # files ---------------------------------------------------|------- GPL-2.0 11139 and resulted in the first patch in this series. If that file was a */uapi/* path one, it was "GPL-2.0 WITH Linux-syscall-note" otherwise it was "GPL-2.0". Results of that was: SPDX license identifier # files ---------------------------------------------------|------- GPL-2.0 WITH Linux-syscall-note 930 and resulted in the second patch in this series. - if a file had some form of licensing information in it, and was one of the */uapi/* ones, it was denoted with the Linux-syscall-note if any GPL family license was found in the file or had no licensing in it (per prior point). Results summary: SPDX license identifier # files ---------------------------------------------------|------ GPL-2.0 WITH Linux-syscall-note 270 GPL-2.0+ WITH Linux-syscall-note 169 ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause) 21 ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) 17 LGPL-2.1+ WITH Linux-syscall-note 15 GPL-1.0+ WITH Linux-syscall-note 14 ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause) 5 LGPL-2.0+ WITH Linux-syscall-note 4 LGPL-2.1 WITH Linux-syscall-note 3 ((GPL-2.0 WITH Linux-syscall-note) OR MIT) 3 ((GPL-2.0 WITH Linux-syscall-note) AND MIT) 1 and that resulted in the third patch in this series. - when the two scanners agreed on the detected license(s), that became the concluded license(s). - when there was disagreement between the two scanners (one detected a license but the other didn't, or they both detected different licenses) a manual inspection of the file occurred. - In most cases a manual inspection of the information in the file resulted in a clear resolution of the license that should apply (and which scanner probably needed to revisit its heuristics). - When it was not immediately clear, the license identifier was confirmed with lawyers working with the Linux Foundation. - If there was any question as to the appropriate license identifier, the file was flagged for further research and to be revisited later in time. In total, over 70 hours of logged manual review was done on the spreadsheet to determine the SPDX license identifiers to apply to the source files by Kate, Philippe, Thomas and, in some cases, confirmation by lawyers working with the Linux Foundation. Kate also obtained a third independent scan of the 4.13 code base from FOSSology, and compared selected files where the other two scanners disagreed against that SPDX file, to see if there was new insights. The Windriver scanner is based on an older version of FOSSology in part, so they are related. Thomas did random spot checks in about 500 files from the spreadsheets for the uapi headers and agreed with SPDX license identifier in the files he inspected. For the non-uapi files Thomas did random spot checks in about 15000 files. In initial set of patches against 4.14-rc6, 3 files were found to have copy/paste license identifier errors, and have been fixed to reflect the correct identifier. Additionally Philippe spent 10 hours this week doing a detailed manual inspection and review of the 12,461 patched files from the initial patch version early this week with: - a full scancode scan run, collecting the matched texts, detected license ids and scores - reviewing anything where there was a license detected (about 500+ files) to ensure that the applied SPDX license was correct - reviewing anything where there was no detection but the patch license was not GPL-2.0 WITH Linux-syscall-note to ensure that the applied SPDX license was correct This produced a worksheet with 20 files needing minor correction. This worksheet was then exported into 3 different .csv files for the different types of files to be modified. These .csv files were then reviewed by Greg. Thomas wrote a script to parse the csv files and add the proper SPDX tag to the file, in the format that the file expected. This script was further refined by Greg based on the output to detect more types of files automatically and to distinguish between header and source .c files (which need different comment types.) Finally Greg ran the script using the .csv files to generate the patches. Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org> Reviewed-by: Philippe Ombredanne <pombredanne@nexb.com> Reviewed-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
381 lines
11 KiB
Plaintext
381 lines
11 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
menu "Bluetooth device drivers"
|
|
depends on BT
|
|
|
|
config BT_INTEL
|
|
tristate
|
|
select REGMAP
|
|
|
|
config BT_BCM
|
|
tristate
|
|
select FW_LOADER
|
|
|
|
config BT_RTL
|
|
tristate
|
|
select FW_LOADER
|
|
|
|
config BT_QCA
|
|
tristate
|
|
select FW_LOADER
|
|
|
|
config BT_HCIBTUSB
|
|
tristate "HCI USB driver"
|
|
depends on USB
|
|
select BT_INTEL
|
|
help
|
|
Bluetooth HCI USB driver.
|
|
This driver is required if you want to use Bluetooth devices with
|
|
USB interface.
|
|
|
|
Say Y here to compile support for Bluetooth USB devices into the
|
|
kernel or say M to compile it as module (btusb).
|
|
|
|
config BT_HCIBTUSB_BCM
|
|
bool "Broadcom protocol support"
|
|
depends on BT_HCIBTUSB
|
|
select BT_BCM
|
|
default y
|
|
help
|
|
The Broadcom protocol support enables firmware and patchram
|
|
download support for Broadcom Bluetooth controllers.
|
|
|
|
Say Y here to compile support for Broadcom protocol.
|
|
|
|
config BT_HCIBTUSB_RTL
|
|
bool "Realtek protocol support"
|
|
depends on BT_HCIBTUSB
|
|
select BT_RTL
|
|
default y
|
|
help
|
|
The Realtek protocol support enables firmware and configuration
|
|
download support for Realtek Bluetooth controllers.
|
|
|
|
Say Y here to compile support for Realtek protocol.
|
|
|
|
config BT_HCIBTSDIO
|
|
tristate "HCI SDIO driver"
|
|
depends on MMC
|
|
help
|
|
Bluetooth HCI SDIO driver.
|
|
This driver is required if you want to use Bluetooth device with
|
|
SDIO interface.
|
|
|
|
Say Y here to compile support for Bluetooth SDIO devices into the
|
|
kernel or say M to compile it as module (btsdio).
|
|
|
|
config BT_HCIUART
|
|
tristate "HCI UART driver"
|
|
depends on TTY
|
|
help
|
|
Bluetooth HCI UART driver.
|
|
This driver is required if you want to use Bluetooth devices with
|
|
serial port interface. You will also need this driver if you have
|
|
UART based Bluetooth PCMCIA and CF devices like Xircom Credit Card
|
|
adapter and BrainBoxes Bluetooth PC Card.
|
|
|
|
Say Y here to compile support for Bluetooth UART devices into the
|
|
kernel or say M to compile it as module (hci_uart).
|
|
|
|
config BT_HCIUART_SERDEV
|
|
bool
|
|
depends on SERIAL_DEV_BUS && BT_HCIUART
|
|
depends on SERIAL_DEV_BUS=y || SERIAL_DEV_BUS=BT_HCIUART
|
|
default y
|
|
|
|
config BT_HCIUART_H4
|
|
bool "UART (H4) protocol support"
|
|
depends on BT_HCIUART
|
|
help
|
|
UART (H4) is serial protocol for communication between Bluetooth
|
|
device and host. This protocol is required for most Bluetooth devices
|
|
with UART interface, including PCMCIA and CF cards.
|
|
|
|
Say Y here to compile support for HCI UART (H4) protocol.
|
|
|
|
config BT_HCIUART_NOKIA
|
|
tristate "UART Nokia H4+ protocol support"
|
|
depends on BT_HCIUART
|
|
depends on BT_HCIUART_SERDEV
|
|
depends on PM
|
|
select BT_HCIUART_H4
|
|
select BT_BCM
|
|
help
|
|
Nokia H4+ is serial protocol for communication between Bluetooth
|
|
device and host. This protocol is required for Bluetooth devices
|
|
with UART interface in Nokia devices.
|
|
|
|
Say Y here to compile support for Nokia's H4+ protocol.
|
|
|
|
config BT_HCIUART_BCSP
|
|
bool "BCSP protocol support"
|
|
depends on BT_HCIUART
|
|
select BITREVERSE
|
|
help
|
|
BCSP (BlueCore Serial Protocol) is serial protocol for communication
|
|
between Bluetooth device and host. This protocol is required for non
|
|
USB Bluetooth devices based on CSR BlueCore chip, including PCMCIA and
|
|
CF cards.
|
|
|
|
Say Y here to compile support for HCI BCSP protocol.
|
|
|
|
config BT_HCIUART_ATH3K
|
|
bool "Atheros AR300x serial support"
|
|
depends on BT_HCIUART
|
|
select BT_HCIUART_H4
|
|
help
|
|
HCIATH3K (HCI Atheros AR300x) is a serial protocol for
|
|
communication between host and Atheros AR300x Bluetooth devices.
|
|
This protocol enables AR300x chips to be enabled with
|
|
power management support.
|
|
Enable this if you have Atheros AR300x serial Bluetooth device.
|
|
|
|
Say Y here to compile support for HCI UART ATH3K protocol.
|
|
|
|
config BT_HCIUART_LL
|
|
bool "HCILL protocol support"
|
|
depends on BT_HCIUART_SERDEV
|
|
help
|
|
HCILL (HCI Low Level) is a serial protocol for communication
|
|
between Bluetooth device and host. This protocol is required for
|
|
serial Bluetooth devices that are based on Texas Instruments'
|
|
BRF chips.
|
|
|
|
Say Y here to compile support for HCILL protocol.
|
|
|
|
config BT_HCIUART_3WIRE
|
|
bool "Three-wire UART (H5) protocol support"
|
|
depends on BT_HCIUART
|
|
help
|
|
The HCI Three-wire UART Transport Layer makes it possible to
|
|
user the Bluetooth HCI over a serial port interface. The HCI
|
|
Three-wire UART Transport Layer assumes that the UART
|
|
communication may have bit errors, overrun errors or burst
|
|
errors and thereby making CTS/RTS lines unnecessary.
|
|
|
|
Say Y here to compile support for Three-wire UART protocol.
|
|
|
|
config BT_HCIUART_INTEL
|
|
bool "Intel protocol support"
|
|
depends on BT_HCIUART
|
|
select BT_HCIUART_H4
|
|
select BT_INTEL
|
|
help
|
|
The Intel protocol support enables Bluetooth HCI over serial
|
|
port interface for Intel Bluetooth controllers.
|
|
|
|
Say Y here to compile support for Intel protocol.
|
|
|
|
config BT_HCIUART_BCM
|
|
bool "Broadcom protocol support"
|
|
depends on BT_HCIUART
|
|
depends on BT_HCIUART_SERDEV
|
|
select BT_HCIUART_H4
|
|
select BT_BCM
|
|
help
|
|
The Broadcom protocol support enables Bluetooth HCI over serial
|
|
port interface for Broadcom Bluetooth controllers.
|
|
|
|
Say Y here to compile support for Broadcom protocol.
|
|
|
|
config BT_HCIUART_QCA
|
|
bool "Qualcomm Atheros protocol support"
|
|
depends on BT_HCIUART
|
|
select BT_HCIUART_H4
|
|
select BT_QCA
|
|
help
|
|
The Qualcomm Atheros protocol supports HCI In-Band Sleep feature
|
|
over serial port interface(H4) between controller and host.
|
|
This protocol is required for UART clock control for QCA Bluetooth
|
|
devices.
|
|
|
|
Say Y here to compile support for QCA protocol.
|
|
|
|
config BT_HCIUART_AG6XX
|
|
bool "Intel AG6XX protocol support"
|
|
depends on BT_HCIUART
|
|
select BT_HCIUART_H4
|
|
select BT_INTEL
|
|
help
|
|
The Intel/AG6XX protocol support enables Bluetooth HCI over serial
|
|
port interface for Intel ibt 2.1 Bluetooth controllers.
|
|
|
|
Say Y here to compile support for Intel AG6XX protocol.
|
|
|
|
config BT_HCIUART_MRVL
|
|
bool "Marvell protocol support"
|
|
depends on BT_HCIUART
|
|
select BT_HCIUART_H4
|
|
help
|
|
Marvell is serial protocol for communication between Bluetooth
|
|
device and host. This protocol is required for most Marvell Bluetooth
|
|
devices with UART interface.
|
|
|
|
Say Y here to compile support for HCI MRVL protocol.
|
|
|
|
config BT_HCIBCM203X
|
|
tristate "HCI BCM203x USB driver"
|
|
depends on USB
|
|
select FW_LOADER
|
|
help
|
|
Bluetooth HCI BCM203x USB driver.
|
|
This driver provides the firmware loading mechanism for the Broadcom
|
|
Blutonium based devices.
|
|
|
|
Say Y here to compile support for HCI BCM203x devices into the
|
|
kernel or say M to compile it as module (bcm203x).
|
|
|
|
config BT_HCIBPA10X
|
|
tristate "HCI BPA10x USB driver"
|
|
depends on USB && BT_HCIUART
|
|
select BT_HCIUART_H4
|
|
help
|
|
Bluetooth HCI BPA10x USB driver.
|
|
This driver provides support for the Digianswer BPA 100/105 Bluetooth
|
|
sniffer devices.
|
|
|
|
Say Y here to compile support for HCI BPA10x devices into the
|
|
kernel or say M to compile it as module (bpa10x).
|
|
|
|
config BT_HCIBFUSB
|
|
tristate "HCI BlueFRITZ! USB driver"
|
|
depends on USB
|
|
select FW_LOADER
|
|
help
|
|
Bluetooth HCI BlueFRITZ! USB driver.
|
|
This driver provides support for Bluetooth USB devices with AVM
|
|
interface:
|
|
AVM BlueFRITZ! USB
|
|
|
|
Say Y here to compile support for HCI BFUSB devices into the
|
|
kernel or say M to compile it as module (bfusb).
|
|
|
|
config BT_HCIDTL1
|
|
tristate "HCI DTL1 (PC Card) driver"
|
|
depends on PCMCIA
|
|
help
|
|
Bluetooth HCI DTL1 (PC Card) driver.
|
|
This driver provides support for Bluetooth PCMCIA devices with
|
|
Nokia DTL1 interface:
|
|
Nokia Bluetooth Card
|
|
Socket Bluetooth CF Card
|
|
|
|
Say Y here to compile support for HCI DTL1 devices into the
|
|
kernel or say M to compile it as module (dtl1_cs).
|
|
|
|
config BT_HCIBT3C
|
|
tristate "HCI BT3C (PC Card) driver"
|
|
depends on PCMCIA
|
|
select FW_LOADER
|
|
help
|
|
Bluetooth HCI BT3C (PC Card) driver.
|
|
This driver provides support for Bluetooth PCMCIA devices with
|
|
3Com BT3C interface:
|
|
3Com Bluetooth Card (3CRWB6096)
|
|
HP Bluetooth Card
|
|
|
|
Say Y here to compile support for HCI BT3C devices into the
|
|
kernel or say M to compile it as module (bt3c_cs).
|
|
|
|
config BT_HCIBLUECARD
|
|
tristate "HCI BlueCard (PC Card) driver"
|
|
depends on PCMCIA
|
|
help
|
|
Bluetooth HCI BlueCard (PC Card) driver.
|
|
This driver provides support for Bluetooth PCMCIA devices with
|
|
Anycom BlueCard interface:
|
|
Anycom Bluetooth PC Card
|
|
Anycom Bluetooth CF Card
|
|
|
|
Say Y here to compile support for HCI BlueCard devices into the
|
|
kernel or say M to compile it as module (bluecard_cs).
|
|
|
|
config BT_HCIBTUART
|
|
tristate "HCI UART (PC Card) device driver"
|
|
depends on PCMCIA
|
|
help
|
|
Bluetooth HCI UART (PC Card) driver.
|
|
This driver provides support for Bluetooth PCMCIA devices with
|
|
an UART interface:
|
|
Xircom CreditCard Bluetooth Adapter
|
|
Xircom RealPort2 Bluetooth Adapter
|
|
Sphinx PICO Card
|
|
H-Soft blue+Card
|
|
Cyber-blue Compact Flash Card
|
|
|
|
Say Y here to compile support for HCI UART devices into the
|
|
kernel or say M to compile it as module (btuart_cs).
|
|
|
|
config BT_HCIVHCI
|
|
tristate "HCI VHCI (Virtual HCI device) driver"
|
|
help
|
|
Bluetooth Virtual HCI device driver.
|
|
This driver is required if you want to use HCI Emulation software.
|
|
|
|
Say Y here to compile support for virtual HCI devices into the
|
|
kernel or say M to compile it as module (hci_vhci).
|
|
|
|
config BT_MRVL
|
|
tristate "Marvell Bluetooth driver support"
|
|
help
|
|
The core driver to support Marvell Bluetooth devices.
|
|
|
|
This driver is required if you want to support
|
|
Marvell Bluetooth devices, such as 8688/8787/8797/8887/8897/8997.
|
|
|
|
Say Y here to compile Marvell Bluetooth driver
|
|
into the kernel or say M to compile it as module.
|
|
|
|
config BT_MRVL_SDIO
|
|
tristate "Marvell BT-over-SDIO driver"
|
|
depends on BT_MRVL && MMC
|
|
select FW_LOADER
|
|
select WANT_DEV_COREDUMP
|
|
help
|
|
The driver for Marvell Bluetooth chipsets with SDIO interface.
|
|
|
|
This driver is required if you want to use Marvell Bluetooth
|
|
devices with SDIO interface. Currently SD8688/SD8787/SD8797/SD8887/SD8897/SD8997
|
|
chipsets are supported.
|
|
|
|
Say Y here to compile support for Marvell BT-over-SDIO driver
|
|
into the kernel or say M to compile it as module.
|
|
|
|
config BT_ATH3K
|
|
tristate "Atheros firmware download driver"
|
|
depends on BT_HCIBTUSB
|
|
select FW_LOADER
|
|
help
|
|
Bluetooth firmware download driver.
|
|
This driver loads the firmware into the Atheros Bluetooth
|
|
chipset.
|
|
|
|
Say Y here to compile support for "Atheros firmware download driver"
|
|
into the kernel or say M to compile it as module (ath3k).
|
|
|
|
config BT_WILINK
|
|
tristate "Texas Instruments WiLink7 driver"
|
|
depends on TI_ST
|
|
help
|
|
This enables the Bluetooth driver for Texas Instrument's BT/FM/GPS
|
|
combo devices. This makes use of shared transport line discipline
|
|
core driver to communicate with the BT core of the combo chip.
|
|
|
|
Say Y here to compile support for Texas Instrument's WiLink7 driver
|
|
into the kernel or say M to compile it as module (btwilink).
|
|
|
|
config BT_QCOMSMD
|
|
tristate "Qualcomm SMD based HCI support"
|
|
depends on RPMSG || (COMPILE_TEST && RPMSG=n)
|
|
depends on QCOM_WCNSS_CTRL || (COMPILE_TEST && QCOM_WCNSS_CTRL=n)
|
|
select BT_QCA
|
|
help
|
|
Qualcomm SMD based HCI driver.
|
|
This driver is used to bridge HCI data onto the shared memory
|
|
channels to the WCNSS core.
|
|
|
|
Say Y here to compile support for HCI over Qualcomm SMD into the
|
|
kernel or say M to compile as a module.
|
|
|
|
endmenu
|