I2C子系统之I2C bus初始化——I2C_init()

2014-11-24 10:58:32 来源: 作者: 浏览: 0

i2c_init()函数。下面具体此函数具体做了那些预备工作。


1.i2c总线的注册


i2c_init()的函数实现如下:



2.i2c_bus_type总线


总线提供了match和probe方法:match方法的用来进行client device和client driver的配对。


在向总线i2c_bus_type注册设备或者驱动时会调用此方法。


2.6.37.1中的at24c02采用的是i2c_match_id这种方法,本质上还是通过name来配对。


probe方法在完成设备和驱动的配对后调用执行,i2c_bus_type的probe方法是通过传递进来的drv找到


包含此drv的i2c_driver驱动,然后再去调用i2c_driver的probe方法,此处就是at24_probe。为什么要这


样呢?因为driver_register后,注册的是i2_driver->drv,而drv中的probe未初始化,我们需要调用的是


i2c-driver的probe方法。


-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: