主题 : i2c驱动问题 复制链接 | 浏览器收藏 | 打印
when I crossover,it's over!
级别: 新手上路
UID: 59963
精华: 0
发帖: 40
金钱: 200 两
威望: 40 点
综合积分: 80 分
注册时间: 2011-12-02
最后登录: 2015-09-29
楼主  发表于: 2012-03-30 11:38

 i2c驱动问题

关于I2C小弟一直在研究最近,但有一些疑惑,希望大虾指导一二。


1.在调用i2c_add_driver()注册i2c驱动的时候看函数内部好像只是往I2C的总线上注册了驱动,然后看样子好像是调用bus_for_each_dev()来进行驱动与设备的对应,是不是它会用driver里定义的id_table里的地址来探测此地址的设备是否存在,如果收到回应那就会生成一系列的i2c_client等,这样就把driver与adapter和client联系在一起了,就可以正常操作I2C实体设备了。不确定是不是真得如此。


2.i2c_driver结构体里有一个id_table,这里面有一个name成员,然后i2c_driver下的driver结构体里也有一个name成员,但是我还是没有明白这两个name成员分别有什么作用,各与什么相对应呢?
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2012-03-30 13:41
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
when I crossover,it's over!
级别: 新手上路
UID: 59963
精华: 0
发帖: 40
金钱: 200 两
威望: 40 点
综合积分: 80 分
注册时间: 2011-12-02
最后登录: 2015-09-29
2楼  发表于: 2012-03-30 15:12


多谢版主,那个帖子上说用i2c_register_board_info来注册i2c设备到内核,我想问一下有没有可能不用这个也能注册一个I2C设备到内核的?因为我在我的代码里(是别的一个android的代码,再MINI2440里我看到这个了)没看到用这个来注册I2C设备,这也是我一直奇怪的问题,我一直不明白I2C设备是怎么去到内核的。