Chinaunix首页 | 论坛 | 博客
  • 博客访问: 54077
  • 博文数量: 22
  • 博客积分: 975
  • 博客等级: 准尉
  • 技术积分: 222
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-02 21:41
文章分类
文章存档

2011年(8)

2010年(8)

2009年(6)

我的朋友

分类: LINUX

2010-08-23 21:56:08

  一般来说,较规范的open( )通常需要完成下列工作:

  1. 检查设备相关错误,如设备尚未准备好等;

  2. 如果是第一次打开,则初始化硬件设备;

  3. 识别次设备号,如果有必要则更新读写操作的当前位置指针f_ops;

  4. 分配和填写要放在file->private_data里的数据结构;//这个很重要,这个地方一般为设备指针,后面的具体操作函数都能从它里面取

  5. 使用计数增1。

  release( )的作用正好与open( )相反,通常要完成下列工作:

  1. 使用计数减1;

  2. 释放在file->private_data中分配的内存;

  3. 如果使用计算为0,则关闭设备。
阅读(378) | 评论(1) | 转发(0) |
0

上一篇:分区信息存放在哪里?

下一篇:book buy list

给主人留下些什么吧!~~

chinaunix网友2010-08-26 09:18:36

Download More than 1000 free IT eBooks: http://free-ebooks.appspot.com