Linux i2c
My notes while reading Linux kernel i2c source code and the documentation. i2c-dev implements the character devices for userspace, a generic, "remote controlled" i2c chip driver ioctl to select slave read()/write() for a subset of smbus operations i2c-tools with library functions i2c adapter A host bus adapter instance class - allow probing for slave devices in class: HWMON, TV, DDC, SPD nr - 'id' number of instance algo - operations to implement i2c_add_[numbered_]adapter() exported API i2c_transfer() - sequence of low level i2c operations i2c_smbus_transfer() - sequence of high level smbus operations i2c algorithm operations to implement a type of host bus adapter: bitbang, philips bus controllers master_xfer() - implement low level i2c transaction segment: operations to read or write bytes to/from i2c device smbus_xfer() - implement high level SMbus access functionality() - query available functionality: SMBUS support, 10bit addressing master_xfer can b