在 SM-G360T 内核中编译“btusb_probe”时,对“get_rome_version”和“rome_download”的未定义引用

在 SM-G360T 内核中编译“btusb_probe”时,对“get_rome_version”和“rome_download”的未定义引用

当我尝试为 Samsung SM-G360T / SM-G360T1 编译内核时,我在两个不同的内核源存储库中遇到相同的问题。

我正在使用的内核:
https://github.com/MSM8916-Samsung/android_kernel_samsung_coreprimeltexx(应该是有货的)
https://github.com/ShinySide/SM-G360T1_kernel(大量编辑)

第一期,参考这里,通过替换一行代码解决了。

btusb.c

static int reset = 1;  

变成

static bool reset = true;     

我将其包含在内仅供参考,以防它与最终结果有关,或者其他人遇到类似的问题。该特定手机型号的内核的文档并不多,但它是一个非常流行的型号。这里列出了我没有尝试使用的此问题的另一个解决方案。

那部分已经解决了。对于实际问题:

drivers/built-in.o: In function `btusb_probe':
/android_kernel_samsung_coreprimeltexx/drivers/bluetooth/btusb.c:1368: 
undefined reference to `get_rome_version'
/android_kernel_samsung_coreprimeltexx/drivers/bluetooth/btusb.c:1373: 
undefined reference to `rome_download'
/android_kernel_samsung_coreprimeltexx/Makefile:807: recipe for target 
'vmlinux' failed
make[1]: *** [vmlinux] Error 1
Makefile:130: recipe for target 'sub-make' failed
make: *** [sub-make] Error 2

我确信这将被标记为重复问题,但它看起来像rome_download和是在和get_rome_version中定义的(或至少引用的,请原谅我,我很糟糕)。include/net/bluetooth/bluetooth.hdrivers/bluetooth/ath3k.c

如果我注释掉几行编辑语句,我可以在没有函数version调用的变量的情况下编译代码btusb_probe。显然,这破坏了某种功能,但它似乎有效。

我在这里先向您的帮助表示感谢。我比平常更啰嗦一些,因为与该设备的其他版本相比,该特定型号的设备具有独特的有限信息/开发。

答案1

不久前,但对于所有需要它的人:还要在内核中启用 CONFIG_BT_ATH3K。 “Atheros 固件下载驱动程序”位于 -> 网络支持 (NET [=y]) -> 蓝牙子系统支持 (BT [=y]) -> 蓝牙设备驱动程序

相关内容