Refactor i2c to use new driver interface