diff options
author | Benjamin Tissoires <benjamin.tissoires@gmail.com> | 2012-11-14 16:59:22 +0100 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2012-11-15 10:16:56 +0100 |
commit | 29807d1e24b7cd696442d2f600057230f084b3c7 (patch) | |
tree | 9fa7122a4c5c7cb6109c092e48a639f57e079b26 | |
parent | af8036dd749fbf4e732161ff0f3874759b73be40 (diff) |
Input: mt: add input_mt_is_used
This patch extracts the test (slot->frame == mt->frame) so that it can
be used in third party drivers.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Reviewed-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-rw-r--r-- | drivers/input/input-mt.c | 2 | ||||
-rw-r--r-- | include/linux/input/mt.h | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/drivers/input/input-mt.c b/drivers/input/input-mt.c index c0ec7d42c3be..475b9d424eed 100644 --- a/drivers/input/input-mt.c +++ b/drivers/input/input-mt.c @@ -247,7 +247,7 @@ void input_mt_sync_frame(struct input_dev *dev) if (mt->flags & INPUT_MT_DROP_UNUSED) { for (s = mt->slots; s != mt->slots + mt->num_slots; s++) { - if (s->frame == mt->frame) + if (input_mt_is_used(mt, s)) continue; input_mt_slot(dev, s - mt->slots); input_event(dev, EV_ABS, ABS_MT_TRACKING_ID, -1); diff --git a/include/linux/input/mt.h b/include/linux/input/mt.h index cc5cca774bab..2e86bd0bfba1 100644 --- a/include/linux/input/mt.h +++ b/include/linux/input/mt.h @@ -69,6 +69,12 @@ static inline bool input_mt_is_active(const struct input_mt_slot *slot) return input_mt_get_value(slot, ABS_MT_TRACKING_ID) >= 0; } +static inline bool input_mt_is_used(const struct input_mt *mt, + const struct input_mt_slot *slot) +{ + return slot->frame == mt->frame; +} + int input_mt_init_slots(struct input_dev *dev, unsigned int num_slots, unsigned int flags); void input_mt_destroy_slots(struct input_dev *dev); |