分类: LINUX
2009-12-27 12:38:18
第三步动作不一定是写入,但当成是写入我也无碍,我们只是想看看这个驱动到底是怎么工作的,实际上写入与读出大体上也差不了多少.
显然,执行上层VFS传来的写入操作是drivers/i2c/i2c-dev.c这个文件中i2cdev_ops中的i2cdev_write函数,而当我们来看这个函数的时候,我们发现,显然它什么也没做,只不过像我们自己写字符驱动时一样,从形参的file->中找到代表这个设备的i2c_dev结构,并把用户空间传入的数据做了备分,就把问题全部推给了另一个函数.
这个倒霉的函数名字叫做.现在让我们来围观一下,这个倒霉家伙是如何辛苦劳动的。
如何所见,它似乎也很坏,只是从中找到这个设备的适配器,并把要传的信息整理一下,就又把事情传给了另一个更加倒霉的孩子。但是让我们围观那个倒霉的孩子之间,先看看现在我们的结构: