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方法。