OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6924|回复: 4

i2c通信,明明使用了设备树,为什么还要添加无设备树匹配方式?

[复制链接]

40

主题

140

帖子

0

精华

高级会员

Rank: 4

积分
747
金钱
747
注册时间
2019-8-31
在线时间
269 小时
发表于 2021-6-23 09:00:32 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 FourReal 于 2021-6-23 09:02 编辑

删除了无设备树匹配的结构体,就不执行probe函数了
2.png
1.png
3.png

最佳答案

查看完整内容[请看2#楼]

在i2c-core.c的文件中有 i2c_device_probe 函数中,决定了必须要有 id_table 才能执行probe函数
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

123

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1820
金钱
1820
注册时间
2019-7-23
在线时间
281 小时
发表于 2021-6-23 09:00:33 | 显示全部楼层
1.png 在i2c-core.c的文件中有 i2c_device_probe 函数中,决定了必须要有 id_table 才能执行probe函数
享受技术
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165353
金钱
165353
注册时间
2010-12-1
在线时间
2108 小时
发表于 2021-6-24 01:39:16 | 显示全部楼层
帮顶
回复

使用道具 举报

70

主题

6698

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12692
金钱
12692
注册时间
2012-11-26
在线时间
3711 小时
发表于 2021-6-24 08:25:35 | 显示全部楼层
是为了兼容以前没有设备树的

不要随便乱改框架,至于为什么不执行了,估计要去看内核了
学无止境
回复

使用道具 举报

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2020-8-18
在线时间
26 小时
发表于 2021-9-19 16:26:57 | 显示全部楼层
tw1157727586 发表于 2021-6-23 09:00
在i2c-core.c的文件中有 i2c_device_probe 函数中,决定了必须要有 id_table 才能执行probe函数

感谢大佬科普!!

我在写到这个代码时,也遇到同样问题,为什么必须要加上i2c_device_id,才可以使用。

我也想了很多原因,也查看了内核代码,但是就就没看i2c_device_probe,居然是内核框架要求必须要求有次i2c_device_id这一项才可以。

感谢,收益!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 16:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表