Chinaunix首页 | 论坛 | 博客
  • 博客访问: 162567
  • 博文数量: 29
  • 博客积分: 1477
  • 博客等级: 上尉
  • 技术积分: 578
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-23 10:42
文章分类
文章存档

2015年(1)

2014年(4)

2013年(3)

2012年(1)

2011年(1)

2009年(19)

我的朋友

分类: LINUX

2009-12-27 12:38:18

从前两步,我们很容易体会到,drivers/i2c/i2c-dev.c这个文件中的模块是与上层的VFS打交道,但一个驱动显然不能只与上层打交道,与上层怎么做呢?我们还要再看下去.

第三步动作不一定是写入,但当成是写入我也无碍,我们只是想看看这个驱动到底是怎么工作的,实际上写入与读出大体上也差不了多少.

显然,执行上层VFS传来的写入操作是drivers/i2c/i2c-dev.c这个文件中i2cdev_ops中的i2cdev_write函数,而当我们来看这个函数的时候,我们发现,显然它什么也没做,只不过像我们自己写字符驱动时一样,从形参的file->中找到代表这个设备的i2c_dev结构,并把用户空间传入的数据做了备分,就把问题全部推给了另一个函数.

这个倒霉的函数名字叫做.现在让我们来围观一下,这个倒霉家伙是如何辛苦劳动的。

如何所见,它似乎也很坏,只是从中找到这个设备的适配器,并把要传的信息整理一下,就又把事情传给了另一个更加倒霉的孩子。但是让我们围观那个倒霉的孩子之间,先看看现在我们的结构:

i2c驱动i2c_msg


阅读(1914) | 评论(0) | 转发(4) |
给主人留下些什么吧!~~