linux 下i2c 驱动架构

在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

 

 

你可能感兴趣的:(linux 下i2c 驱动架构)