> >> struct i2c_client *client = to_i2c_client(dev); > >> > >> - return swab16(i2c_smbus_read_word_data(client, reg)); > >> + return i2c_smbus_read_word_swapped(client, reg); > > > > This is still not endian-safe. I wonder if introducing > > i2c_smbus_read_word_sw...