trait I2cChip {
void init(unsigned long base, unsigned int speed, unsigned int clock_hz) const;
int write(unsigned long base, unsigned char addr, []const unsigned char data) const;
int read(unsigned long base, unsigned char addr, []unsigned char data) const;
int probe(unsigned long base, unsigned char addr) const;
}What an I2C controller type provides; I2cBus<C> requires it.