> I, personally, have the impression that you're over-complicating things > a bit. Do we really need that I2C handler registration thing? Or would a > (multivolume-like) bus index passed to all the I2C handling functions do > equally good with less bloat? IIUC the handler function could do the > registration stuff internally for targets that really need it.
The idea behind handler is that we may have two i2c busses which use different drivers (I have to check but I had impression that some PP targets use regular pp-i2c for communication with codec and sw one for reading keys). Anyway I am opened for sugesstions. If you could write down simple example how you think this should be done I'll be happy to look at. > Also, how do the drivers for the I2C devices know which bus to use? > #define WMCODEC_BUS 0 etc. in firmware/export/config/[target].h? That was my idea Marcin