[嵌入式linux] Linux3.10.17探测不到设备

[复制链接]
1503|4
 楼主| NrylN 发表于 2014-11-4 08:42 | 显示全部楼层 |阅读模式
在Linux3.10.17上添加TP驱动,设备树里修改没问题,驱动里添加了.of_match_table,以模块形式插入时没有探测到设备(没进probe函数),是不是还需要在哪里添加设置?
shell.albert 发表于 2014-11-4 13:29 | 显示全部楼层
没有调用probe()接口函数,肯定是你注册的不对。
仔细检查一下,或者是直接注册成平台设备和平台驱动,
使用platform_device_register()和platform_driver_register()
强制调用probe()
 楼主| NrylN 发表于 2014-11-4 13:59 | 显示全部楼层
驱动相关代码如下:
static const struct of_device_id fsl_icn85xx_ts_ids[]={
        {.compatible = "fsl,icn85xx_ts"},
        {}
};
MODULE_DEVICE_TABLE(of, fsl_icn85xx_ts_ids);
static struct i2c_driver icn85xx_ts_driver = {
    .probe      = icn85xx_ts_probe,
    .remove     = icn85xx_ts_remove,
    .driver = {
        .name   = CTP_NAME,
        .owner  = THIS_MODULE,
       .of_match_table = fsl_icn85xx_ts_ids,
    },
};
内核相关代码如下:
355 &i2c1 {
356     clock-frequency = <100000>;
357     pinctrl-names = "default";
358     pinctrl-0 = <&pinctrl_i2c1>;
359     status = "okay";
360
361     icn85xx_ts: icn85xx_ts@40 {
362         compatible = "fsl,icn85xx_ts";
363         reg = <0x40>;
364         gpios = <
365                  &gpio1 3 0
366                  &gpio1 4 0
367                 >;
368         status = "okay";
369     };  
370 };
HORSE7812 发表于 2015-8-11 21:30 | 显示全部楼层
帮顶!!!
mini1986 发表于 2015-9-10 13:37 | 显示全部楼层
关注一下,期待后续有大神帮你解决......
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

18

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部