drivers/bluetooth 源码目录与驱动索引
1. USB
btusb.c:主流USB HCI;ath3k.c:Atheros firmware loader;bcm203x.c、bfusb.c:旧设备;bpa10x.c:sniffer。
2. UART
hci_ldisc.c:TTY line discipline;hci_serdev.c:serial device bus;hci_uart.h:共同对象/API;hci_h4.c、hci_h5.c、hci_bcsp.c:framing;hci_bcm.c、hci_qca.c、hci_intel.c;hci_ll.c、hci_ath.c、hci_mrvl.c、hci_nokia.c、hci_ag6xx.c。
本 Makefile没有 hci_rtl.c;Realtek UART逻辑由H5/serdev和 btrtl helper组合。
3. 厂商helpers
btintel.[ch];btbcm.[ch];btrtl.[ch];btqca.[ch];btmtk.[ch]。
它们由多个 transport复用,不单独代表物理bus。
4. SDIO
btsdio.c:通用HCI SDIO;btmrvl_main.c、btmrvl_sdio.c;btmtksdio.c。
5. 其它
btmtkuart.c;btqcomsmd.c;btrsi.c;virtio_bt.c;hci_vhci.c;
-PCMCIA legacy drivers。
6. Defconfig
明确为 y:
1 | BT |
未显式启用H4/H5/BCM/QCA等选项时不能只因源码存在就宣称已编译。BT_HCIUART_ATH3K会 select H4。
7. 目录边界
- HCI Core:
net/bluetooth/; - UAPI:
include/uapi/linux/bluetooth.h及hci/mgmt headers; - Rockchip平台 rfkill:
net/rfkill/rfkill-bt.c、rfkill-wlan.c;
-用户态:BlueZ,不在内核树本目录。
正在加载留言…