标签:数据 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