Chinaunix首页 | 论坛 | 博客
  • 博客访问: 399507
  • 博文数量: 73
  • 博客积分: 3120
  • 博客等级: 中校
  • 技术积分: 785
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-20 12:26
文章分类

全部博文(73)

文章存档

2013年(4)

2012年(10)

2011年(32)

2010年(27)

分类: LINUX

2011-04-18 09:05:44

 
本文只介绍Linux下I2C新驱动框架技术,老框架在原Blog中有提及,这里不详述。
Linux新的I2C驱动框架下,I2C设备是以I2c client的形式存在的,即设备I2c client与I2C驱动相对应。I2C设备驱动可以理解成I2C client驱动。
在I2C总线驱动加载的时候,I2c Bus驱动为每一个总线创建了一个I2c Adapter,即适配器。然后会i2c_scan_static_board_info,即遍历I2c板卡信息i2c_board_info,此结构体里包含了系统相应I2c总线下所挂载的设备信息,通过遍历i2c_board_info,为该总线下每一个设备描述实例化,即为每一个设备创建i2c_client,然后把新创建的I2c client设备挂载到I2 Bus上,在挂载I2c client设备到总线的时候,发起经典的Device和Driver匹配过程。找到相应I2C设备驱动。
过程如下图:
 
I2C 总线与I2C总线驱动匹配过程:

在I2C总线驱动与I2C总线匹配过程中,将产生相应的 I2c Adapter设备,每一个总线对应一个Adapter。
阅读(1211) | 评论(0) | 转发(0) |
0

上一篇:Android HAL实例解析

下一篇:C语言知识细节

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