책 보다가 궁굼한게 있어서 여기 질문합니다.
(이런 질문을 해도 되나?)

application에서 어떤 디바이스를 이용하려면 커널쪽에서
file fd[n]을 하나를 이용하게 되고, fd[n]구조체에 포함된것 중에
file_operations f_op를 이용해서 드라이버의 내용에 접근하는데...
이때 f_op와 device driver에서 생성한
file_operation xxx_fops는 어떻게 연결되는건가요?

그러니깐
만약에...
file_operations함수 open, release, read, write,...
의 함수들을 내가 짠 디바이스 드라이버의
xxx_open, xxx_release, xxx_read, xxx_write,... 가 있다면
커널쪽에서
fd[n]->f_op->open() 이 디바이스 드라이버의 xxx_open()
이라는것을 어떻게 알게되는건가요?

커널 소스를 뒤져봐도 잘 모르겠네요...