recpt1ドライバ(モジュールインストール)の
makeが通らなくなった。
下記は、pt1のドライバだけど、
pt3でも同じ内容のエラーが出る。
$ make
revh=`hg parents --template '#define DRV_VERSION "r{rev}:{node|short}"\n#define DRV_RELDATE "{date|shortdate}"\n' 2>/dev/null`; \
if [ -n "$revh" ] ; then \
echo "$revh" > version.h; \
else \
printf "#define DRV_VERSION \""1.1.0"\"\n#define DRV_RELDATE \""2010-01-27"\"\n" > version.h; \
fi
make -C /lib/modules/`uname -r`/build M=`pwd` V=0 modules
make[1]: ディレクトリ '/usr/lib/modules/4.2.1-1-ARCH/build' に入ります
CC [M] /home/izm/pt1-c8688d7d6382/driver/pt1_pci.o
/home/izm/pt1-c8688d7d6382/driver/pt1_pci.c: 関数 ‘pt1_pci_init_one’ 内:
/home/izm/pt1-c8688d7d6382/driver/pt1_pci.c:857:20: エラー: 関数 ‘vmalloc’ の暗黙的な宣言です [-Werror=implicit-function-declaration]
channel->buf = vmalloc(CHANNEL_DMA_SIZE);
^
/home/izm/pt1-c8688d7d6382/driver/pt1_pci.c:857:18: 警告: 代入で整数からキャスト無しにポインタを作成しています [-Wint-conversion]
channel->buf = vmalloc(CHANNEL_DMA_SIZE);
^
/home/izm/pt1-c8688d7d6382/driver/pt1_pci.c:862:18: 警告: 代入で整数からキャスト無しにポインタを作成しています [-Wint-conversion]
channel->buf = vmalloc(BS_CHANNEL_DMA_SIZE);
^
/home/izm/pt1-c8688d7d6382/driver/pt1_pci.c:911:5: エラー: 関数 ‘vfree’ の暗黙的な宣言です [-Werror=implicit-function-declaration]
vfree(dev_conf->channel[lp]->buf);
^
cc1: some warnings being treated as errors
scripts/Makefile.build:258: ターゲット '/home/izm/pt1-c8688d7d6382/driver/pt1_pci.o' のレシピで失敗しました
make[2]: *** [/home/izm/pt1-c8688d7d6382/driver/pt1_pci.o] エラー 1
Makefile:1386: ターゲット '_module_/home/izm/pt1-c8688d7d6382/driver' のレシピで失敗しました
make[1]: *** [_module_/home/izm/pt1-c8688d7d6382/driver] エラー 2
make[1]: ディレクトリ '/usr/lib/modules/4.2.1-1-ARCH/build' から出ます
Makefile:10: ターゲット 'pt1_drv.ko' のレシピで失敗しました
make: *** [pt1_drv.ko] エラー 2
これ見て、判る人がいるんだろうね。
たぶん、何かが足らないとかって問題じゃないね。
ドライバ作家が動いてくださって、半年ぐらい待つのかな。
当座の解決策として、カーネルをダウングレード。
ドライバのmakeが通った。
最近、recpt1がよく映っていて、よかったのに。
recpt1のときのvlcは、いまだに2.0.8.a-1がいい。
もうdowngrade候補にもないけれど、よく映る。
↓ ↓ ↓ ↓
解決策:
pt1の場合は、pt1_pci.c に
pt3の場合は、pt3_pci.c に

の宣言行を追記、だそうです。