These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / hid / wacom_wac.h
index 4700ac9..877c24a 100644 (file)
 #define WACOM_PKGLEN_MAX       192
 
 #define WACOM_NAME_MAX         64
+#define WACOM_MAX_REMOTES      5
+#define WACOM_STATUS_UNKNOWN   255
 
 /* packet length for individual models */
-#define WACOM_PKGLEN_PENPRTN    7
-#define WACOM_PKGLEN_GRAPHIRE   8
 #define WACOM_PKGLEN_BBFUN      9
-#define WACOM_PKGLEN_INTUOS    10
 #define WACOM_PKGLEN_TPC1FG     5
 #define WACOM_PKGLEN_TPC1FG_B  10
 #define WACOM_PKGLEN_TPC2FG    14
@@ -29,9 +28,6 @@
 #define WACOM_PKGLEN_BBTOUCH3  64
 #define WACOM_PKGLEN_BBPEN     10
 #define WACOM_PKGLEN_WIRELESS  32
-#define WACOM_PKGLEN_MTOUCH    62
-#define WACOM_PKGLEN_MTTPC     40
-#define WACOM_PKGLEN_DTUS      68
 #define WACOM_PKGLEN_PENABLED   8
 #define WACOM_PKGLEN_BPAD_TOUCH        32
 #define WACOM_PKGLEN_BPAD_TOUCH_USB    64
 #define WACOM_REPORT_USB               192
 #define WACOM_REPORT_BPAD_PEN          3
 #define WACOM_REPORT_BPAD_TOUCH                16
+#define WACOM_REPORT_DEVICE_LIST       16
+#define WACOM_REPORT_INTUOS_PEN                16
+#define WACOM_REPORT_REMOTE            17
 
 /* device quirks */
 #define WACOM_QUIRK_BBTOUCH_LOWRES     0x0001
-#define WACOM_QUIRK_NO_INPUT           0x0002
-#define WACOM_QUIRK_MONITOR            0x0004
 #define WACOM_QUIRK_BATTERY            0x0008
 
+/* device types */
+#define WACOM_DEVICETYPE_NONE           0x0000
+#define WACOM_DEVICETYPE_PEN            0x0001
+#define WACOM_DEVICETYPE_TOUCH          0x0002
+#define WACOM_DEVICETYPE_PAD            0x0004
+#define WACOM_DEVICETYPE_WL_MONITOR     0x0008
+
+#define WACOM_VENDORDEFINED_PEN                0xff0d0001
+
 #define WACOM_PEN_FIELD(f)     (((f)->logical == HID_DG_STYLUS) || \
                                 ((f)->physical == HID_DG_STYLUS) || \
                                 ((f)->physical == HID_DG_PEN) || \
-                                ((f)->application == HID_DG_PEN))
+                                ((f)->application == HID_DG_PEN) || \
+                                ((f)->application == HID_DG_DIGITIZER) || \
+                                ((f)->application == WACOM_VENDORDEFINED_PEN))
 #define WACOM_FINGER_FIELD(f)  (((f)->logical == HID_DG_FINGER) || \
                                 ((f)->physical == HID_DG_FINGER) || \
                                 ((f)->application == HID_DG_TOUCHSCREEN))
@@ -110,22 +118,27 @@ enum {
        INTUOSPS,
        INTUOSPM,
        INTUOSPL,
-       INTUOSHT,
        WACOM_21UX2,
        WACOM_22HD,
        DTK,
        WACOM_24HD,
        WACOM_27QHD,
        CINTIQ_HYBRID,
+       CINTIQ_COMPANION_2,
        CINTIQ,
        WACOM_BEE,
        WACOM_13HD,
        WACOM_MO,
-       WIRELESS,
+       BAMBOO_PEN,
+       INTUOSHT,
+       INTUOSHT2,
+       BAMBOO_TOUCH,
        BAMBOO_PT,
        WACOM_24HDT,
        WACOM_27QHDT,
        BAMBOO_PAD,
+       WIRELESS,
+       REMOTE,
        TABLETPC,   /* add new TPC below */
        TABLETPCE,
        TABLETPC2FG,
@@ -145,6 +158,7 @@ struct wacom_features {
        int type;
        int x_resolution;
        int y_resolution;
+       int numbered_buttons;
        int x_min;
        int y_min;
        int device_type;
@@ -189,23 +203,31 @@ struct hid_data {
        int width;
        int height;
        int id;
+       int cc_report;
+       int cc_index;
+       int cc_value_index;
+       int num_expected;
+       int num_received;
 };
 
 struct wacom_wac {
-       char name[WACOM_NAME_MAX];
+       char pen_name[WACOM_NAME_MAX];
+       char touch_name[WACOM_NAME_MAX];
        char pad_name[WACOM_NAME_MAX];
        char bat_name[WACOM_NAME_MAX];
        char ac_name[WACOM_NAME_MAX];
        unsigned char data[WACOM_PKGLEN_MAX];
        int tool[2];
        int id[2];
-       __u32 serial[2];
+       __u32 serial[5];
        bool reporting_data;
        struct wacom_features features;
        struct wacom_shared *shared;
-       struct input_dev *input;
+       struct input_dev *pen_input;
+       struct input_dev *touch_input;
        struct input_dev *pad_input;
-       bool input_registered;
+       bool pen_registered;
+       bool touch_registered;
        bool pad_registered;
        int pid;
        int battery_capacity;