source/arch/x86/kernel/msr.c では、キャラクター デバイスの msr_open コールバックは、次の構成を使用して、使用されているキャラクター デバイス ファイルのマイナー番号を抽出します。
static int msr_open(struct inode *inode, struct file *file)
{
unsigned int cpu = iminor(file_inode(file));
[...]
}
私の質問は、次のように、関数の最初の引数で iminor を直接呼び出さない理由です。
unsigned int cpu = iminor(inode);
コンストラクトは、inode が引数として渡されない他のコールバック (読み取りと書き込みなど) でも使用されるため、これはコピー/貼り付けによるものだと思いますか、それともより深い意味があるのでしょうか?