static int i2c_put_byte(struct nouveau_i2c_port *port, u8 byte) { int i, ret; for (i = 7; i >= 0; i--) { ret = i2c_bitw(port, !!(byte & (1 << i))); if (ret < 0) return ret; } ret = i2c_bitr(port); if (ret == 1) /* nack */ ret = -EIO; return ret; }
static int nvkm_i2c_put_byte(struct nvkm_i2c_bus *bus, u8 byte) { int i, ret; for (i = 7; i >= 0; i--) { ret = i2c_bitw(bus, !!(byte & (1 << i))); if (ret < 0) return ret; } ret = i2c_bitr(bus); if (ret == 1) /* nack */ ret = -EIO; return ret; }
static int i2c_get_byte(struct nouveau_i2c_port *port, u8 *byte, bool last) { int i, bit; *byte = 0; for (i = 7; i >= 0; i--) { bit = i2c_bitr(port); if (bit < 0) return bit; *byte |= bit << i; } return i2c_bitw(port, last ? 1 : 0); }
static int nvkm_i2c_get_byte(struct nvkm_i2c_bus *bus, u8 *byte, bool last) { int i, bit; *byte = 0; for (i = 7; i >= 0; i--) { bit = i2c_bitr(bus); if (bit < 0) return bit; *byte |= bit << i; } return i2c_bitw(bus, last ? 1 : 0); }