Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rydberg/input...
[pandora-kernel.git] / include / linux / input.h
index 6ef4446..53f873e 100644 (file)
@@ -733,11 +733,12 @@ struct input_keymap_entry {
 #define ABS_MT_BLOB_ID         0x38    /* Group a set of packets as a blob */
 #define ABS_MT_TRACKING_ID     0x39    /* Unique ID of initiated contact */
 #define ABS_MT_PRESSURE                0x3a    /* Pressure on contact area */
+#define ABS_MT_DISTANCE                0x3b    /* Contact hover distance */
 
 #ifdef __KERNEL__
 /* Implementation details, userspace should not care about these */
 #define ABS_MT_FIRST           ABS_MT_TOUCH_MAJOR
-#define ABS_MT_LAST            ABS_MT_PRESSURE
+#define ABS_MT_LAST            ABS_MT_DISTANCE
 #endif
 
 #define ABS_MAX                        0x3f
@@ -848,6 +849,7 @@ struct input_keymap_entry {
  */
 #define MT_TOOL_FINGER         0
 #define MT_TOOL_PEN            1
+#define MT_TOOL_MAX            1
 
 /*
  * Values describing the status of a force-feedback effect
@@ -1082,14 +1084,6 @@ struct ff_effect {
 #include <linux/timer.h>
 #include <linux/mod_devicetable.h>
 
-/**
- * struct input_mt_slot - represents the state of an input MT slot
- * @abs: holds current values of ABS_MT axes for this slot
- */
-struct input_mt_slot {
-       int abs[ABS_MT_LAST - ABS_MT_FIRST + 1];
-};
-
 /**
  * struct input_dev - represents an input device
  * @name: name of the device
@@ -1130,6 +1124,7 @@ struct input_mt_slot {
  *     of tracked contacts
  * @mtsize: number of MT slots the device uses
  * @slot: MT slot currently being transmitted
+ * @trkid: stores MT tracking ID for the current contact
  * @absinfo: array of &struct absinfo elements holding information
  *     about absolute axes (current value, min, max, flat, fuzz,
  *     resolution)
@@ -1214,6 +1209,7 @@ struct input_dev {
        struct input_mt_slot *mt;
        int mtsize;
        int slot;
+       int trkid;
 
        struct input_absinfo *absinfo;
 
@@ -1463,11 +1459,6 @@ static inline void input_mt_sync(struct input_dev *dev)
        input_event(dev, EV_SYN, SYN_MT_REPORT, 0);
 }
 
-static inline void input_mt_slot(struct input_dev *dev, int slot)
-{
-       input_event(dev, EV_ABS, ABS_MT_SLOT, slot);
-}
-
 void input_set_capability(struct input_dev *dev, unsigned int type, unsigned int code);
 
 /**
@@ -1580,8 +1571,5 @@ int input_ff_erase(struct input_dev *dev, int effect_id, struct file *file);
 int input_ff_create_memless(struct input_dev *dev, void *data,
                int (*play_effect)(struct input_dev *, void *, struct ff_effect *));
 
-int input_mt_create_slots(struct input_dev *dev, unsigned int num_slots);
-void input_mt_destroy_slots(struct input_dev *dev);
-
 #endif
 #endif