设为首页 加入收藏

TOP

Linux下CPU注册i2c控制器(adapter)过程(二)
2014-11-24 08:07:52 来源: 作者: 【 】 浏览:5
Tags:Linux CPU 注册 i2c 控制器 adapter 过程
iled to attach interrupt\n");
goto fail_irq;
}

/*
初始化octeon I2C 控制器
*/
result = octeon_i2c_initlowlevel(i2c);


if (result) {
dev_err(i2c->dev, "init low level failed\n");
goto fail_add;
}

/*
设置octeon I2C 时钟
*/
result = octeon_i2c_setclock(i2c);


/*
添加octeon I2C 的寄存器read/write实现方法
*/
i2c->adap = octeon_i2c_ops;
i2c->adap.timeout = msecs_to_jiffies(50);
i2c->adap.dev.parent = &pdev->dev;
i2c->adap.dev.of_node = pdev->dev.of_node;
i2c_set_adapdata(&i2c->adap, i2c);
platform_set_drvdata(pdev, i2c);

/*
调用 i2c-core提供的注册adapter接口API.
*/
result = i2c_add_adapter(&i2c->adap);
if (result < 0) {
dev_err(i2c->dev, "failed to add adapter\n");
goto fail_add;
}
/*
注册adapter成功, 打印出当前版本号
*/
dev_info(i2c->dev, "version %s\n", DRV_VERSION);


/*
of_i2c_register_devices最终调用的是i2c-core提供的i2c_new_device()函数, 建立一个的i2c adapter.
*/
of_i2c_register_devices(&i2c->adap);
..
}



在此, octeon处理器先将定义好其特定的adapter数据结构, 将针对octeon处理器的 i2c 操作(i2c_algorithm)实现方法填充到此adapter结构体中, 最后, 使用 i2c-core提供的adapter注册函数 i2c_add_adapter().


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇shell脚本--Linux终端运行Hadoop-.. 下一篇UNIX中的restrict

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·求navicat for mysql (2025-12-26 13:21:33)
·有哪位大哥推荐一下m (2025-12-26 13:21:30)
·MySQL下载与安装教程 (2025-12-26 13:21:26)
·Linux_百度百科 (2025-12-26 12:51:52)
·Shell 流程控制 | 菜 (2025-12-26 12:51:49)