Linux 2.4 から 3.0 に移植しようとしている Linux ドライバーがいくつかあります。この長い期間の間に、ioctl (現在は unlocked_ioctl) の引数リストが少し変更されました。
-static int can_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)
+static long can_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
コードは inode を使用してマイナー バージョンを取得し、それを他のコマンドに渡していました。inode は ioctl パラメーター リストで指定された "free-be" ではありません。どうすれば取得できますか?
ファイルポインタから派生することは可能ですか? または、_open() メソッドに表示されたときにグローバル ポインターを「保存」する必要がありますか? 他に良い方法があれば避けたいです。