BTN_TOOL_FINGER, DOUBLETAP, etc. are mutually exclusive in the kernel, so we
can use ffs here instead of manually counting.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
static inline unsigned int
tp_fake_finger_count(struct tp_dispatch *tp)
{
- unsigned int fake_touches, nfake_touches;
-
/* don't count BTN_TOUCH */
- fake_touches = tp->fake_touches >> 1;
- nfake_touches = 0;
- while (fake_touches) {
- nfake_touches++;
- fake_touches >>= 1;
- }
-
- return nfake_touches;
+ return ffs(tp->fake_touches >> 1);
}
static inline bool