Linuxカーネル(input/input.c)のinput_get_keycode関数の変更点

Linuxカーネル(input/input.c)のinput_get_keycode関数の変更点

入力デバイス用のカーネルモジュールを構築していますが、モジュールソースコードに複数の呼び出しがあり、input_get_keycode(data->input_dev, scancode, &keycode);コンパイル時にプロトタイプに機能がないというエラーが発生することがわかりました。

input/input.cソースコードを見ると、次の定義がありますinput_get_keycode

int input_get_keycode(struct input_dev *dev, struct input_keymap_entry *ke)

私はオンラインで探していて、大きなキーマップをよりよく処理できるようにカーネルを変更することに関するあいまいな参照を見つけました。 input/input.cの以前のソースコードを見ると、関数は次のinput_get_keycodeように定義されています。

int input_get_keycode(struct input_dev *dev, unsigned int scancode, unsigned int *keycode)

私の質問は、これがいつ変わったのかということです。変更の指示がありますか?私はubuntu nattygitでカーネルを作っていますが、これはブランチの私の理解です2.6.37-rc3

これはUbuntuの特定の変更ですか?あるいは、メインラインカーネルの変更かもしれません。また、maverick古いスタイル(3つの入力)機能を備えたgitのソースコードもあります。

ベストアンサー1

カーネルモジュールを開発する場合は、gitツリーを取得することをお勧めします。明らかに、Linusの木は必須です。安定した木も手に入れました。 Ubuntuを使用しているので、インポートできる変更があるツリーがあることを確認します。

Gitツリーを使用してチェックアウトしmasterて実行し、コミットで関数シグネチャが最後に変更された時刻をgit blame drivers/input/input.c確認できました。input_get_keycode8613e4c2

実行すると、git show 8613e4c2その変更(必要な説明)のコミットメッセージとその変更を実装するパッチが提供されます。 2010-09-09に変更されたことを確認できます。

(グラフィックgit viewer)を起動しgitkてそのコミットに移動するように指示すると、コミットがv2.6.37-rc1より前にそのバージョンにマージされたことがわかります。 Linusがマージされるまでこのブランチを追跡すると、2010年10月26日にコミット3a99c631にマージされたことがわかります。

これはUbuntuパッチを見なくてもすべてメインラインなので、この変更はUbuntuとは関係がないようです。

おすすめ記事