Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1413985
  • 博文数量: 1334
  • 博客积分: 645
  • 博客等级: 上士
  • 技术积分: 5762
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-25 16:56
文章分类

全部博文(1334)

文章存档

2014年(108)

2013年(1059)

2012年(169)

分类: LINUX

2013-02-21 05:19:09

原文地址:i2c驱动第三步-写入 作者:dean_go

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

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

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

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

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

i2c驱动i2c_msg


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