aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/input/mt.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/input/mt.h')
-rw-r--r--include/linux/input/mt.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/include/linux/input/mt.h b/include/linux/input/mt.h
index f86737586e19..63458bced77d 100644
--- a/include/linux/input/mt.h
+++ b/include/linux/input/mt.h
@@ -23,6 +23,20 @@ struct input_mt_slot {
int abs[ABS_MT_LAST - ABS_MT_FIRST + 1];
};
+/**
+ * struct input_mt - state of tracked contacts
+ * @trkid: stores MT tracking ID for the next contact
+ * @num_slots: number of MT slots the device uses
+ * @slot: MT slot currently being transmitted
+ * @slots: array of slots holding current values of tracked contacts
+ */
+struct input_mt {
+ int trkid;
+ int num_slots;
+ int slot;
+ struct input_mt_slot slots[];
+};
+
static inline void input_mt_set_value(struct input_mt_slot *slot,
unsigned code, int value)
{
@@ -38,9 +52,9 @@ static inline int input_mt_get_value(const struct input_mt_slot *slot,
int input_mt_init_slots(struct input_dev *dev, unsigned int num_slots);
void input_mt_destroy_slots(struct input_dev *dev);
-static inline int input_mt_new_trkid(struct input_dev *dev)
+static inline int input_mt_new_trkid(struct input_mt *mt)
{
- return dev->trkid++ & TRKID_MAX;
+ return mt->trkid++ & TRKID_MAX;
}
static inline void input_mt_slot(struct input_dev *dev, int slot)