i2c probe方式 是需要手动填充struct i2c_board_info 结构体吗?

EasyL 发布于 2013/08/01 17:11
阅读 1K+
收藏 0
  

向大家请教一下:

i2c 在调用了i2c_add_driver() 后,要匹配i2c_client的名字 和 i2c_driver 中i2c_device_id中的名字是否匹配。

static const struct i2c_device_id example_id[] = {
	{“example”, 0},
	{},
};

可是,i2c_client的名字是怎么指定的,是需要手动填充struct i2c_board_info 结构体吗,即:

static struct i2c_board_info __initdata xxxi2c_board_info[] = {
    {
        I2C_BOARD_INFO("example", 0x20), 
        .platform_data = 0,
    },
};

很纠结是否需要自己手动填充i2c_board_info结构体

请求指教!

加载中
0
sgz24226587
sgz24226587
需要的填充的 这样才能与你自己写driver 匹配名字的
sgz24226587
sgz24226587
回复 @EasyL : 在与平台有关的文件中 我用过s5pc100 它就在arch/arm/mach-s5pc100/mach-smdkc100.c 其他的应该类似的吧
EasyL
EasyL
哦,谢谢~ 可是在哪里写这个结构体呢
0
EasyL
EasyL

没有用过I2C总线的吗? 自己顶一下吧TnT!

0
sgz24226587
sgz24226587

i2c 是总线   i2c_client 是设备  一个总线上可以挂很多设备,就是可以有很多个i2c_client   一个i2c_client 对应一个真实的设备


0
EasyL
EasyL

引用来自“sgz24226587”的答案

i2c 是总线   i2c_client 是设备  一个总线上可以挂很多设备,就是可以有很多个i2c_client   一个i2c_client 对应一个真实的设备


您说的我懂,问题是 i2c_client设备的名字是怎么指定的,是不是需要手动填充struct i2c_board_info 结构体。

sgz24226587
sgz24226587
需要的 这个名字 他需要和设备节点的名字匹配的
0
sgz24226587
sgz24226587
对不起 可能没有理解你的意思哈,说的太绝对了哈
0
洋葱52000
可以手动添加,也可以调用后台函数自动添加
返回顶部
顶部