[Armadillo:06821] Re: ドライバ組み込み時にUnknown symbol エラーが発生します。
Takenoshita Koyo
email@hidden
2011年 2月 21日 (月) 14:44:43 JST
竹之下です。
> 現在、armadillo9向け、PC104デバイス用ドライバの作成をC言語で行っております。
>
> ドライバ内から/devにデバイスファイルを作成する為、class_create関数、class_device_create関数をcallしておりますが、insmodコマンドによるドライバ組み込み動作時に、以下のエラーが発生します。
>
> Unknown symbol class_create
> Unknown symbol class_device_create
>
class_create, class_device_create関数は、以下のコミットで追加されたようです。
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e9ba6365
> カーネルは、2.6.12.3-a9-17を使用しています。
> カーネルのバージョンに関係する問題なのでしょうか?
手元のリポジトリで確認したところ、このコミットは2.6.13から入っています。
$ git describe --contains e9ba6365
v2.6.13-rc4~130^2~203^2^2~74
ですので、linux-2.6.12ではつかえない関数のようですね。
※このコミット以前(linux-2.6.12)では、関数宣言すら無いので、
カーネルモジュールをビルドする際に、エラーになると思うの
ですが、モジュールのビルドは正常にできているのでしょうか?
--
Koyo Takenoshita
armadillo メーリングリストの案内