用户空间 用户应用程序
内核空间 /sys, /dev
I2C客户驱动程序
硬件
I2C设备 I2C控制器
数据结构
i2c_driver include/linux/i2c.h 代表一个I2C驱动程序
i2c_client_address_data include/linux/i2c.h I2C客户驱动程序所负责的从地址
i2c_client include/linux/i2c.h 用于标示一个连接到I2C总线上的芯片
I2C_msg inlude/linux/i2c.h 描述在I2C总线上欲产生的一次传输事情
spi_driver include/linux/spi.h 代表一个SPI驱动程序
spi_device include/linux/spi.h 代表一个SPI设备
内核接口
i2c_add_driver() include/linux/i2c.h 向核心注册驱动程序入口
i2c_del_driver() include/linux/i2c_core.c 从I2C核心移除驱动程序
i2c_del_addpater drivers/i2c/i2c-core.c 注销主机适配
i2c_add-addpater drivers/i2c/i2c-core.c 注册主机适配器