前回のLinuxデバイスドライバ開発 fops(2)からの続き。
inode->i_cdev からcontainer_ofを使用しデバイスの情報を取得する。
前回使用したサンプルは、複数回open(同じデバイスの情報をアクセス)するため、動作上問題が発生する。
今回のドライバ実装では、close後もデータ保持する。
実行確認
$ sudo insmod skel_drv.ko $ ./test fd0 - fd1 - fd0 - ABCT fd1 - ABCT fd0 - ABCT $ ./test fd0 - ABCT fd1 - ABCT fd0 - ABCT fd1 - ABCT fd0 - ABCT $ sudo rmmod skel_drv