OpenEdv-开源电子网

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

platform-设备树-设备和驱动匹配

[复制链接]

21

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
185
金钱
185
注册时间
2019-5-24
在线时间
39 小时
发表于 2020-4-6 21:26:53 | 显示全部楼层 |阅读模式
1金钱



v1.3版本-p1329
static struct platform_driver led_driver = {
190 .driver = {
191 .name = "imx6ul-led", /* 驱动名字,用于和设备匹配 */
192 .of_match_table = led_of_match, /* 设备树匹配表 */
193 },
194 .probe = led_probe,
195 .remove = led_remove,
196 };


.name = "imx6ul-led", /* 驱动名字,用于和设备匹配 */
该注释不理解,使用设备树的驱动,是匹配of_match_table的吧,不是按照.name = "imx6ul-led匹配的(device-driver方式的匹配)
我觉得.name似乎可以其任意的名字。否则和原来的方式有什么区别呢?

最佳答案

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

.name是为老的,不使用设备树的驱动准备的。使用设备树的话就是of_match_table中的
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2020-4-6 21:26:54 | 显示全部楼层
.name是为老的,不使用设备树的驱动准备的。使用设备树的话就是of_match_table中的
回复

使用道具 举报

0

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2019-9-4
在线时间
14 小时
发表于 2020-4-10 16:22:33 | 显示全部楼层
zuozhongkai 发表于 2020-4-6 21:26
.name是为老的,不使用设备树的驱动准备的。使用设备树的话就是of_match_table中的

左神,如下代码,在i2c驱动实验中,已经用了设备树匹配,为啥还要保留传统匹配方式,而且我删了传统匹配方式后,却无法加载驱动,貌似传统匹配方式还不能省略,这是为啥?

288 /* 传统匹配方式 ID 列表 */
289 static const struct i2c_device_id ap3216c_id[] = {
290 {"alientek,ap3216c", 0},
291 {}
292 };

309 .id_table = ap3216c_id,
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2020-4-10 17:30:29 | 显示全部楼层
西门寒尘 发表于 2020-4-10 16:22
左神,如下代码,在i2c驱动实验中,已经用了设备树匹配,为啥还要保留传统匹配方式,而且我删了传统匹配 ...

保留传统是为了代码兼容性啊,写的驱动肯定要兼容传统的,要规范的
开往春天的手扶拖拉机
回复

使用道具 举报

0

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2019-9-4
在线时间
14 小时
发表于 2020-4-13 17:21:03 | 显示全部楼层
但是楼主给的这个例子我也看了,这里面只有设备树匹配,没有id_table,却能加载驱动成功,而i2c的不行,是为啥
回复

使用道具 举报

0

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2019-9-4
在线时间
14 小时
发表于 2020-4-13 17:22:11 | 显示全部楼层
zuozhongkai 发表于 2020-4-10 17:30
保留传统是为了代码兼容性啊,写的驱动肯定要兼容传统的,要规范的

但是楼主给的这个例子我也看了,这里面只有设备树匹配,没有id_table,却能加载驱动成功,而i2c的不行,是为啥
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2020-4-16
在线时间
8 小时
发表于 2020-6-26 13:18:08 | 显示全部楼层
为啥楼主那个例子 我用例程的  insmod leddriver.ko然后没匹配成功?
  我设备树确认过没问题
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-25 14:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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