mediatek: build btmtkuart as a kernel module
authorChuanhong Guo <gch981213@gmail.com>
Tue, 22 Sep 2020 13:04:02 +0000 (21:04 +0800)
committerChuanhong Guo <gch981213@gmail.com>
Tue, 22 Sep 2020 13:07:50 +0000 (21:07 +0800)
bluetooth on mt7622 needs a firmware to start. It can't be built-in or
it tries to load firmware before rootfs is mounted, and then fails.
build it as a kernel module to fix that.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
target/linux/mediatek/modules.mk
target/linux/mediatek/mt7622/config-5.4

index eb81afe2359b135e9522ad317d171ee5b2bdf4cf..9c6fb515f4c6290f5f016a1b416d70bcd3e9a1c0 100644 (file)
@@ -15,6 +15,18 @@ endef
 
 $(eval $(call KernelPackage,ata-ahci-mtk))
 
+define KernelPackage/btmtkuart
+  SUBMENU:=Other modules
+  TITLE:=MediaTek HCI UART driver
+  DEPENDS:=@TARGET_mediatek_mt7622 +kmod-bluetooth +mt7622bt-firmware
+  KCONFIG:=CONFIG_BT_MTKUART
+  FILES:= \
+       $(LINUX_DIR)/drivers/bluetooth/btmtkuart.ko
+  AUTOLOAD:=$(call AutoProbe,btmtkuart)
+endef
+
+$(eval $(call KernelPackage,btmtkuart))
+
 define KernelPackage/sdhci-mtk
   SUBMENU:=Other modules
   TITLE:=Mediatek SDHCI driver
index cf12a1f52c4a93a88902b103bed85a48bc7c0edc..3861704eaaf689df49a4a08f90080854dae3286b 100755 (executable)
@@ -121,21 +121,6 @@ CONFIG_BLK_SCSI_REQUEST=y
 CONFIG_BLOCK_COMPAT=y
 CONFIG_BSD_PROCESS_ACCT=y
 CONFIG_BSD_PROCESS_ACCT_V3=y
-CONFIG_BT=y
-CONFIG_BT_BCM=y
-CONFIG_BT_BREDR=y
-CONFIG_BT_DEBUGFS=y
-CONFIG_BT_HCIUART=y
-CONFIG_BT_HCIUART_BCM=y
-# CONFIG_BT_HCIUART_INTEL is not set
-# CONFIG_BT_HCIUART_NOKIA is not set
-CONFIG_BT_HCIUART_QCA=y
-CONFIG_BT_HCIUART_SERDEV=y
-CONFIG_BT_HCIVHCI=y
-CONFIG_BT_HS=y
-CONFIG_BT_LE=y
-CONFIG_BT_MTKUART=y
-CONFIG_BT_QCA=y
 # CONFIG_CAVIUM_TX2_ERRATUM_219 is not set
 CONFIG_CC_HAS_KASAN_GENERIC=y
 CONFIG_CLKDEV_LOOKUP=y