Lines Matching full:level
64 static int bitbang_i2c_ret(bitbang_i2c_interface *i2c, int level) in bitbang_i2c_ret() argument
67 i2c->device_out, level); in bitbang_i2c_ret()
68 i2c->device_out = level; in bitbang_i2c_ret()
70 return level & i2c->last_data; in bitbang_i2c_ret()
79 /* Returns data line level. */
80 int bitbang_i2c_set(bitbang_i2c_interface *i2c, int line, int level) in bitbang_i2c_set() argument
84 if (level != 0 && level != 1) { in bitbang_i2c_set()
89 if (level == i2c->last_data) { in bitbang_i2c_set()
92 i2c->last_data = level; in bitbang_i2c_set()
96 if (level == 0) { in bitbang_i2c_set()
108 if (i2c->last_clock == level) { in bitbang_i2c_set()
111 i2c->last_clock = level; in bitbang_i2c_set()
112 if (level == 0) { in bitbang_i2c_set()
201 static void bitbang_i2c_gpio_set(void *opaque, int irq, int level) in bitbang_i2c_gpio_set() argument
205 level = bitbang_i2c_set(&s->bitbang, irq, level); in bitbang_i2c_gpio_set()
206 if (level != s->last_level) { in bitbang_i2c_gpio_set()
207 s->last_level = level; in bitbang_i2c_gpio_set()
208 qemu_set_irq(s->out, level); in bitbang_i2c_gpio_set()