Very few functions can be shared (~ 3). A possible solutions is to move i2c_common_all to i2c_common_f124, create i2c_common_all and move f3/i2c to i2c_common_f3. Who agrees?
Most of the changes went to i2c_common_all.h file. F3 is considerably different than all the other in i2c.