디바이스 드라이버를 작성하다 보면 file_operations 함수를 작성하게 된다

open(), release() 함수는 인자중에 struct inode *inode 가 있어 이곳에서 다음과 같이 마이너 번호를 얻는다.

     

    MINOR(inode->i_rdev)


하지만 기타의 함수에는 inode 인자가 없다. 이때 인자중 반드시 있는 struct file *filp 를 이용하여 마이너 번호를 구할 수 있다.


   MINOR(file->f_path.dentry->d_inode);


또하나 MINOR 매크로 보다는 아래의 inline 매크로를 사용하도록 하자


   iminor(inode->i_rdev);

   iminor(file->f_path.dentry->d_inode);


iminor() 함수도 동일하게 MINOR() 를 호출하지만 나중을 위해서 이렇게 사용하는게  좋을 듯 하다.