在linux/include目录下,关注头文件
i2c-id.h
i2c-algo-bit.h
在linux/drivers/i2c目录下
Kconfig
Makefile
i2c-core.h
i2c-boardinfo.c // CONFIG_I2C_BOARDINFO
i2c-core.c
i2c-dev.c // CONFIG_I2C_CHARDEV
algos //不同的硬件/软件 时序逻辑
Kconfig
Makefile
i2c-algo-bit.c // CONFIG_I2C_ALGOBIT
i2c-algo-pca.c
i2c-algo-pcf.c
i2c-algo-pcf.h
i2c-algo-sgi.c
busses //不同的控制器驱动
Kconfig
Makefile
i2c-acorn.c
i2c-ali1535.c
i2c-ali1563.c
i2c-ali15x3.c
i2c-amd756-s4882.c
i2c-amd756.c
i2c-amd8111.c
i2c-at91.c
i2c-au1550.c
i2c-bfin-twi.c
i2c-davinci.c
i2c-elektor.c
i2c-gpio.c
i2c-hydra.c
i2c-i801.c
i2c-i810.c
i2c-ibm_iic.c
i2c-ibm_iic.h
i2c-iop3xx.c
i2c-iop3xx.h
i2c-ixp2000.c
i2c-mpc.c
i2c-mv64xxx.c
i2c-nforce2.c
i2c-ocores.c
i2c-omap.c
i2c-parport-light.c
i2c-parport.c
i2c-parport.h
i2c-pasemi.c
i2c-pca-isa.c
i2c-pca-platform.c
i2c-piix4.c
i2c-pmcmsp.c
i2c-pnx.c
i2c-powermac.c
i2c-prosavage.c
i2c-pxa.c
i2c-s3c2410.c
i2c-savage4.c
i2c-sh7760.c
i2c-sh_mobile.c
i2c-sibyte.c
i2c-simtec.c
i2c-sis5595.c
i2c-sis630.c
i2c-sis96x.c
i2c-stub.c
i2c-taos-evm.c
i2c-tiny-usb.c
i2c-versatile.c
i2c-via.c
i2c-viapro.c
i2c-voodoo3.c
chips //客户端驱动
Kconfig
Makefile
ds1682.c
eeprom.c
isp1301_omap.c
max6875.c
menelaus.c
pca9539.c
pcf8574.c
pcf8575.c
pcf8591.c
tps65010.c
tsl2550.c
关注
i2c-core.c
i2c-dev.c
具体关系如下
软硬件 整体图
内核数据对象 关系
i2c.h
i2c-dev.h
i2c.h
i2c-dev.h
i2c-dev.h