标签:数据 dev orm 线框 csdn net lin tran probe
目录
title: I2C(一)框架
date: 2019/1/28 17:58:42
toc: true
---
我们首先从硬件连接的角度来抽象一下

整体分为以下几个部分:
adapt,I2c_linet,i2c_driver的接口,提供统一传输接口i2c_transfer,i2c_master_send,i2c_master_recv,具体的硬件操作由adapt提供adapt描述I2c控制器,具体的时序控制i2c_clinet描述外设地址信息等,i2c_driver 描述外设具体的控制逻辑,具体设备驱动i2c_dev这是一个不指定具体设备地址的字符设备驱动程序,提供app直接控制总线时序,主设备号都为89,次设备号为适配器编号
linux使用I2C 总线平台来管理,所谓总线,也和我们以前的platform总线一样,左边是dev,右边是driver,这里左侧挂接了适配器dev和clinet.dev,通过dev.type可以区分

总线框架都会有一个匹配后probe的过程,linux2.6和linux3.4的match并不相同,具体以后分析代码可以看下.

clinet加入链表driver驱动加入链表adapt上有若干个clinet依附,一个clinet会有一个i2C_driver对应着的标签:数据 dev orm 线框 csdn net lin tran probe
原文地址:https://www.cnblogs.com/zongzi10010/p/10331611.html