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]) -> Bluetooth 하위 시스템 지원(BT [=y]) -> Bluetooth 장치 드라이버에 있습니다.

관련 정보