Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android
[firefly-linux-kernel-4.4.55.git] / drivers / input / input-mt.c
index 34feb3e1127b2b64c31e8d803f98fcb5ec2aaffc..54fce56c80236808d5a6eb02fa6c8d17ebb76415 100644 (file)
@@ -368,27 +368,35 @@ static void input_mt_set_slots(struct input_mt *mt,
                               int *slots, int num_pos)
 {
        struct input_mt_slot *s;
-       int *w = mt->red, *p;
+       int *w = mt->red, j;
 
-       for (p = slots; p != slots + num_pos; p++)
-               *p = -1;
+       for (j = 0; j != num_pos; j++)
+               slots[j] = -1;
 
        for (s = mt->slots; s != mt->slots + mt->num_slots; s++) {
                if (!input_mt_is_active(s))
                        continue;
-               for (p = slots; p != slots + num_pos; p++)
-                       if (*w++ < 0)
-                               *p = s - mt->slots;
+
+               for (j = 0; j != num_pos; j++) {
+                       if (w[j] < 0) {
+                               slots[j] = s - mt->slots;
+                               break;
+                       }
+               }
+
+               w += num_pos;
        }
 
        for (s = mt->slots; s != mt->slots + mt->num_slots; s++) {
                if (input_mt_is_active(s))
                        continue;
-               for (p = slots; p != slots + num_pos; p++)
-                       if (*p < 0) {
-                               *p = s - mt->slots;
+
+               for (j = 0; j != num_pos; j++) {
+                       if (slots[j] < 0) {
+                               slots[j] = s - mt->slots;
                                break;
                        }
+               }
        }
 }