TVチューナー用のドライバをビルドしようとしていますが、ビルドすると次のエラーが発生します。
make -s -C /lib/modules/3.2.0-23-generic/build SUBDIRS=/home/jtp/IT9135_SRC modules
In file included from /home/jtp/IT9135_SRC/it9135-core.c:21:0:
/home/jtp/IT9135_SRC/it9135.h:11:28: fatal error: linux/smp_lock.h: No such file or directory
compilation terminated.
make[2]: *** [/home/jtp/IT9135_SRC/it9135-core.o] Error 1
make[1]: *** [_module_/home/jtp/IT9135_SRC] Error 2
make: *** [default] Error 2
私は何を見逃していますか?
答え1
<linux/smp_lock.h>
2.6.39以降、存在しなくなった「Big Kernel Lock」のヘッダファイルです。ドライバーの作成者は、これを近代化するためにいくつかのタスクを実行する必要があります。
また、最新のカーネルにはdvb-usb-it913x
モジュールが含まれていることがわかりました。たぶん、古いツリーの外部ドライバの使用をやめ、代わりに使用できますか?
答え2
"/lib/modules/...../build/linux/smp_lock.h" がない場合は、単に仮想コンパイルするだけです。
ナノ/lib/モジュール/...../build/linux/smp_lock.h
書く
//これは偽だ!
次に、ctrl + Xを押してYを押してコンパイルを試みます。