diff options
Diffstat (limited to 'hw/gpio')
-rw-r--r-- | hw/gpio/max7310.c | 2 | ||||
-rw-r--r-- | hw/gpio/zaurus.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/hw/gpio/max7310.c b/hw/gpio/max7310.c index 7fbf313ce8..2f59b134ee 100644 --- a/hw/gpio/max7310.c +++ b/hw/gpio/max7310.c @@ -96,7 +96,7 @@ static int max7310_tx(I2CSlave *i2c, uint8_t data) case 0x01: /* Output port */ for (diff = (data ^ s->level) & ~s->direction; diff; diff &= ~(1 << line)) { - line = ffs(diff) - 1; + line = ctz32(diff); if (s->handler[line]) qemu_set_irq(s->handler[line], (data >> line) & 1); } diff --git a/hw/gpio/zaurus.c b/hw/gpio/zaurus.c index 94083424f8..24a77272d7 100644 --- a/hw/gpio/zaurus.c +++ b/hw/gpio/zaurus.c @@ -65,7 +65,7 @@ static inline void scoop_gpio_handler_update(ScoopInfo *s) { level = s->gpio_level & s->gpio_dir; for (diff = s->prev_level ^ level; diff; diff ^= 1 << bit) { - bit = ffs(diff) - 1; + bit = ctz32(diff); qemu_set_irq(s->handler[bit], (level >> bit) & 1); } |