官方QQ群收藏本站

百问linux嵌入式论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 97|回复: 0

i2c_get_adapter咨询

[复制链接]

12

主题

30

帖子

183

积分

注册会员

Rank: 2

积分
183
发表于 2019-2-11 15:58:11 | 显示全部楼层 |阅读模式
本帖最后由 buters 于 2019-2-11 16:18 编辑

各位老师好,我在实际工作中引用at24cxx_dev.c中的代码,遇到idr_find返回值为NULL的问题。
我追代码发现:
struct i2c_adapter *i2c_get_adapter(int nr)
{
        struct i2c_adapter *adapter;

        mutex_lock(&core_lock);
        adapter = idr_find(&i2c_adapter_idr, nr);
        if(adapter==NULL)
        {
                //这里打印了
                printk("############ [adapter is null]###########\n");
        }
        if (adapter && !try_module_get(adapter->owner))
        {
                printk("############ [i2c_get_adapter failed]###########\n");
                adapter = NULL;

        }
        else
        {
                printk("############ [i2c_get_adapter success]###########\n");
        }
        mutex_unlock(&core_lock);
        return adapter;
}
请问是传进来的适配器号不对吗?我在板子中有/dev/i2c-0,然后i2c_get_adapter(0)就出现了这个问题。请问老师怎么排查?
注意:平台是mips的




回复

使用道具 举报

技术支持
在线咨询
咨询热线
0755-86200561
微信扫一扫
获取更多资讯!

Archiver|小黑屋|百问linux嵌入式论坛     

GMT+8, 2019-4-25 12:34 , Processed in 0.074343 second(s), 9 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

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