Merge commit 'v2.6.34-rc2' into perf/core
[linux-2.6-block.git] / drivers / input / tablet / wacom_wac.h
1 /*
2  * drivers/input/tablet/wacom_wac.h
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  */
9 #ifndef WACOM_WAC_H
10 #define WACOM_WAC_H
11
12 /* maximum packet length for USB devices */
13 #define WACOM_PKGLEN_MAX        32
14
15 /* packet length for individual models */
16 #define WACOM_PKGLEN_PENPRTN     7
17 #define WACOM_PKGLEN_GRAPHIRE    8
18 #define WACOM_PKGLEN_BBFUN       9
19 #define WACOM_PKGLEN_INTUOS     10
20 #define WACOM_PKGLEN_TPC1FG      5
21 #define WACOM_PKGLEN_TPC2FG     14
22
23 /* device IDs */
24 #define STYLUS_DEVICE_ID        0x02
25 #define TOUCH_DEVICE_ID         0x03
26 #define CURSOR_DEVICE_ID        0x06
27 #define ERASER_DEVICE_ID        0x0A
28 #define PAD_DEVICE_ID           0x0F
29
30 /* wacom data packet report IDs */
31 #define WACOM_REPORT_PENABLED           2
32 #define WACOM_REPORT_INTUOSREAD         5
33 #define WACOM_REPORT_INTUOSWRITE        6
34 #define WACOM_REPORT_INTUOSPAD          12
35 #define WACOM_REPORT_TPC1FG             6
36 #define WACOM_REPORT_TPC2FG             13
37
38 enum {
39         PENPARTNER = 0,
40         GRAPHIRE,
41         WACOM_G4,
42         PTU,
43         PL,
44         INTUOS,
45         INTUOS3S,
46         INTUOS3,
47         INTUOS3L,
48         INTUOS4S,
49         INTUOS4,
50         INTUOS4L,
51         CINTIQ,
52         WACOM_BEE,
53         WACOM_MO,
54         TABLETPC,
55         TABLETPC2FG,
56         MAX_TYPE
57 };
58
59 struct wacom_features {
60         const char *name;
61         int pktlen;
62         int x_max;
63         int y_max;
64         int pressure_max;
65         int distance_max;
66         int type;
67         int device_type;
68         int x_phy;
69         int y_phy;
70         unsigned char unit;
71         unsigned char unitExpo;
72 };
73
74 struct wacom_wac {
75         char name[64];
76         unsigned char *data;
77         int tool[2];
78         int id[2];
79         __u32 serial[2];
80         struct wacom_features features;
81 };
82
83 #endif