Currently we have a few i2c implementations which are incompatible. i2c drivers are scattered across our source base (as some are in target tree and some not). Drivers utilizing i2c to communicate with peripherials are either platform specific and call particular i2c_write variant (RTCs) or use wrappers (Wolfson codecs, TEA fm). I propose to introduce some unification across our existing implementations and to introduce uniform higher layer API for i2c transfers. I did proof of concept implementation which can be seen here: http://www.pastie.org/1338034.
Comments welcome Marcin Bukat (wodz)