@@ -151,16 +151,16 @@ static void xgpio_set_multiple(struct gpio_chip *gc, unsigned long *mask,
spin_lock_irqsave(&chip->gpio_lock[0], flags);
spin_lock(&chip->gpio_lock[1]);
- bitmap_set_value(old, state[0], 0, width[0]);
- bitmap_set_value(old, state[1], width[0], width[1]);
+ bitmap_set_value(old, 64, state[0], width[0], 0);
+ bitmap_set_value(old, 64, state[1], width[1], width[0]);
bitmap_replace(new, old, bits, mask, gc->ngpio);
- bitmap_set_value(old, state[0], 0, 32);
- bitmap_set_value(old, state[1], 32, 32);
+ bitmap_set_value(old, 64, state[0], 32, 0);
+ bitmap_set_value(old, 64, state[1], 32, 32);
state[0] = bitmap_get_value(new, 0, width[0]);
state[1] = bitmap_get_value(new, width[0], width[1]);
- bitmap_set_value(new, state[0], 0, 32);
- bitmap_set_value(new, state[1], 32, 32);
+ bitmap_set_value(new, 64, state[0], 32, 0);
+ bitmap_set_value(new, 64, state[1], 32, 32);
bitmap_xor(changed, old, new, 64);
if (((u32 *)changed)[0])