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를 누르고 컴파일을 시도합니다.