[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 メーリングリストの案内