Hi, > + ts->snap_down[swapped] = -inactive_area_left; > + ts->snap_up[swapped] = max_x + inactive_area_right; > + ts->snap_down[!swapped] = -inactive_area_top; > + ts->snap_up[!swapped] = max_y + inactive_area_bottom; > + ts->snap_down_on[swapped] = snap_left_on; > + ts->snap_down_off[swapped] = snap_left_off; > + ts->snap_up_on[swapped] = max_x - snap_right_on; > + ts->snap_up_off[swapped] = max_x - snap_right_off; > + ts->snap_down_on[!swapped] = snap_top_on; > + ts->snap_down_off[!swapped] = snap_top_off; > + ts->snap_up_on[!swapped] = max_y - snap_bottom_on; > + ts->snap_up_off[!swapped] = max_y - snap_bottom_off; Could this perhaps be represented by _one_ struct definition and two representations of it, one for swapped and one for non-swapped case or so? (although sometimes it´s reverted logic, might need more thought) Sounds like an awful lot of repeated array calculations for no overly good reason (unless gcc happens to fully optimize it into oblivion automatically). Andreas Mohr -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html