linux i2c子系统abc

         关于i2c 子系统的详解,不做过多描述了,我上传的资源里有份文档,比较详尽的做了分析。

         我想记录的是,只是怕自己日后遗忘,能帮助我快速重拾记忆的片段。

         一、kernel 在2.6.31后 i2c_attach_client() 函数已经不复存在,这意味着以前的 legacy drivers ( Adapter方式 )不能简单复用

         二、Probe方式 (new style)

                 a) 无论用哪种方式写的驱动,关键是i2c_client 的掌握,因为最终发动传输都需要它。那么,在可以保存私有数据的角落里保存好它。

                 b) i2c_bus_type 总线的匹配规则是:i2c_client 和 id_table 的名称。

                 c) i2c_client  的实例化及Adapter注册于总线的时刻在 [devices.c] platform_device_register 注册到 platform总线的那刻,当然 [i2c-davinci.c] platform_driver_register  注册的driver是最终实践者。Adapter方式,是在注册driver 后才动态创建的client。

                 d) 平台代码中要对使用的i2c设备做注册 [ i2c_board_info ] 、[ i2c_register_board_info() ],注册后的设备才能被i2c_bus_type 探测到。

        三、i2c-dev.c

                  a) 这是最简单的写i2c驱动的方法,获取Adapter,组装client ,寄存在private_data 中

                  b) 仍然使用Adapter方式,因为这种方式不需要在平台代码中注册

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值