SM-G360Tカーネルで 'btusb_probe'をコンパイルするときの 'get_rome_version'と 'rome_download'の未定義参照

SM-G360Tカーネルで 'btusb_probe'をコンパイルするときの 'get_rome_version'と 'rome_download'の未定義参照

Samsung SM-G360T / SM-G360T1用のカーネルをコンパイルしようとすると、2つの異なるカーネルソースストアで同じ問題が発生します。

私が使用するカーネル:
https://github.com/MSM8916-Samsung/android_kernel_samsung_coreprimeltexx(在庫が必要)
https://github.com/ShinySide/SM-G360T1_kernel(ひどく編集済み)

最初の号、参考資料ここ、コードの1行を置き換えることで修正されました。

存在する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_downloadget_rome_versionまたは少なくとも参照されています。許してください。恐ろしいです)。include/net/bluetooth/bluetooth.hdrivers/bluetooth/ath3k.c

いくつかの編集文をコメントアウトすると、version関数呼び出しの変数なしでコードをコンパイルできますbtusb_probe。明らかに、これはいくつかの機能を中断しましたが、うまくいくようです。

あなたの助けに事前に感謝の言葉を伝えたいと思います。この特定のモデルのデバイスには、他のバージョンのデバイスと比較して固有の制限された情報/開発があるため、通常よりも少し冗長に説明します。

答え1

少し前ですが、必要な人のためにカーネルでCONFIG_BT_ATH3Kも有効にしてください。 「Atherosファームウェアダウンロードドライバ」は - >ネットワークサポート(NET [= y]) - > Bluetoothサブシステムサポート(BT [= y]) - > Bluetoothデバイスドライバにあります。

関連情報