> Do you have in mind sth like i2c_smbus_write_i2c_device_device_id function ? SMBus? It's I2C. And write? I'd call it: u32 i2c_get_device_id(struct client* client) Instead of returning an u32, we could return a struct where the bits are already decoded, too.