(1)i2c-core.c。 这个文件实现了 I2C 核心的功能以及/proc/bus/i2c*接口。i2c-core.c提供了对 I²C 总线和设备的注册、注销管理。这包括总线控制器的注册和客户端(即连接到总线的设备)的注册。该文件是由内核开发者提供,和具体的硬件操作无关。 ( 2)i2c-dev.c。 实现了 I2C 适配器设备
i2c_get_adapter函数的主要作用是根据给定的I2C适配器编号 nr 从 i2c_adapter_idr 中查找对应的 i2c_adapter 结构体,该函数定义在“drivers/i2c/i2c-core-base.c”文件中,具体内容如下所示: struct i2c_adapter *i2c_get_adapter(int nr) { struct i2c_adapter *adapter; // 获取 i2c_adapter_idr 中的锁 ...
它位于内核源码目录下的drivers/i2c/i2c-core.c文件中,是I2C总线驱动和设备驱动之间依赖于I2C核心作为纽带。 I2C核心中的主要函数包括: 增加/删除i2c_adapter[backcolor=var(--code-bg-color)]int i2c_add_adapter(struct i2c_adapter *adap);int i2c_del_adapter(struct i2c_adapter *adap); [...
i2c-core.c这个文件实现了I2C核心的功能以及/proc/bus/i2c*接口。i2c-dev.c实现了I2C适配器设备文件的功能,每一个I2C适配器都被分配一个设备。通过适配器访设备时的主设备号都为89,次设备号为0-255。I2c-dev.c并没有针对特定的设备而设计,只是提供了通用的read(),write(),和ioctl()等接口,...
? i2c-core.c 这个文件实现了I2C核心的功能以及/proc/bus/i2c*接口。 ? i2c-dev.c 实现了I2C适配器设备文件的功能,每一个I2C适配器都被分配一个设备。通过适配器访问设备时的主设备号都为89,次设备号为0~255。应用程序通过“i2c-%d” (i2c-0, i2c-1, ..., i2c-10, ...)文件名并使用文件操作接口...
Linux下I2C体系文件构架 在Linux内核源代码中的driver目录下包含一个i2c目录 i2c-core.c这个文件实现了I2C核心的功能以及/proc/bus/i2c*接口。 i2c-dev.c实现了I2C适配器设备文件的功能,每一个I2C适配器都被分配一个设备。通过适配器访设备时的主设备号都为89,次设备号为0-255。I2c-dev.c并没有针对特定的设备...
i2c-core.c,这个文件是i2c驱动代码核心,用于沟通VFS与低层实现。 i2c-dev.c这是一个通用的驱动,基本上大多数i2c驱动都可以通过调用这个操作。它在/dev下生成一个主设备号为89的i2c设备。它主要实现了与VFS中规定的操作。 i2c-boardinfo.c包含一此板级信息。
? i2c-core.c 这个文件实现了I2C核心的功能以及/proc/bus/i2c*接口。 ? i2c-dev.c 实现了I2C适配器设备文件的功能,每一个I2C适配器都被分配一个设备。通过适配器访问设备时的主设备号都为89,次设备号为0~255。应用程序通过“i2c-%d” (i2c-0, i2c-1, ..., i2c-10, ...)文件名并使用文件操作接口...
(1)I2C框架:I2C.h 和I2C-core.c 为I2C框架的主体,提供了核心数据结构的定义、I2C 适配器驱动和设备驱动的注册、注销方法,I2C 通信方法(algorithm)上层的、与具体适配器无关的代码、以及检测设备地址的上层代码等。作为核心的I2C-core.c 还为总线驱动设备提供了一些统一的调用接口进行读写和设置操作, 另外它还提...
4 驱动源文件的编译 驱动源文件包括i2c-algo-s3c2410.c,i2c-dev.c,i2c-core.c,i2c-s3c2410.c4个源文件。将其编译为模块,则产生4个模块文件,编译工作由Makefile文件完成,其文件内容如下: 当需要使用I2C总线控制器驱动模块时,可以使用I2C总线控制器驱动的设备管理文件loadi2c。该管理文件运行后,将自动在Linux的/...