Linuxデバイスドライバ開発 fops(3)

container_of

前回の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
 

Linuxデバイスドライバ開発

 

添付ファイル: fileskel_drv_part9.tgz 227件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-05-15 (日) 19:39:21