Input: wacom - add defines for packet lengths of various devices
authorPing Cheng <pingc@wacom.com>
Tue, 15 Dec 2009 08:35:24 +0000 (00:35 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 15 Dec 2009 08:36:02 +0000 (00:36 -0800)
Signed-off-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
drivers/input/tablet/wacom.h
drivers/input/tablet/wacom_wac.c
drivers/input/tablet/wacom_wac.h

index e6307ba452ea5439f08b963db4e4363159dae1ee..d71da970602c26d456d28943bedf163fddf8c849 100644 (file)
@@ -70,6 +70,7 @@
  *      v1.50 (pc) - Fixed a TabletPC touch bug in 2.6.28
  *      v1.51 (pc) - Added support for Intuos4
  *      v1.52 (pc) - Query Wacom data upon system resume
+ *                 - add defines for features->type
  */
 
 /*
index c896d6a21b7ee6fa53eb8853ff6535a65ae194af..d5fc97d361022e6badccd72ab8c43f4fb539ebd2 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * drivers/input/tablet/wacom_wac.c
  *
- *  USB Wacom Graphire and Wacom Intuos tablet support - Wacom specific code
+ *  USB Wacom tablet support - Wacom specific code
  *
  */
 
@@ -617,8 +617,8 @@ static int wacom_tpc_irq(struct wacom_wac *wacom, void *wcombo)
 
        dbg("wacom_tpc_irq: received report #%d", data[0]);
 
-       if (urb->actual_length == 5 || data[0] == 6) { /* Touch data */
-               if (urb->actual_length == 5) {  /* with touch */
+       if (urb->actual_length == WACOM_PKGLEN_TPC1FG || data[0] == 6) { /* Touch data */
+               if (urb->actual_length == WACOM_PKGLEN_TPC1FG) {  /* with touch */
                        prox = data[0] & 0x03;
                } else {  /* with capacity */
                        prox = data[1] & 0x03;
@@ -629,7 +629,7 @@ static int wacom_tpc_irq(struct wacom_wac *wacom, void *wcombo)
                                if (touchInProx) {
                                        wacom->tool[1] = BTN_TOOL_DOUBLETAP;
                                        wacom->id[0] = TOUCH_DEVICE_ID;
-                                       if (urb->actual_length != 5) {
+                                       if (urb->actual_length != WACOM_PKGLEN_TPC1FG) {
                                                wacom_report_abs(wcombo, ABS_X, wacom_le16_to_cpu(&data[2]));
                                                wacom_report_abs(wcombo, ABS_Y, wacom_le16_to_cpu(&data[4]));
                                                wacom_report_abs(wcombo, ABS_PRESSURE, wacom_le16_to_cpu(&data[6]));
@@ -804,66 +804,66 @@ void wacom_init_input_dev(struct input_dev *input_dev, struct wacom_wac *wacom_w
 }
 
 static struct wacom_features wacom_features[] = {
-       { "Wacom Penpartner",    7,   5040,  3780,  255,  0, PENPARTNER },
-        { "Wacom Graphire",      8,  10206,  7422,  511, 63, GRAPHIRE },
-       { "Wacom Graphire2 4x5", 8,  10206,  7422,  511, 63, GRAPHIRE },
-       { "Wacom Graphire2 5x7", 8,  13918, 10206,  511, 63, GRAPHIRE },
-       { "Wacom Graphire3",     8,  10208,  7424,  511, 63, GRAPHIRE },
-       { "Wacom Graphire3 6x8", 8,  16704, 12064,  511, 63, GRAPHIRE },
-       { "Wacom Graphire4 4x5", 8,  10208,  7424,  511, 63, WACOM_G4 },
-       { "Wacom Graphire4 6x8", 8,  16704, 12064,  511, 63, WACOM_G4 },
-       { "Wacom BambooFun 4x5", 9,  14760,  9225,  511, 63, WACOM_MO },
-       { "Wacom BambooFun 6x8", 9,  21648, 13530,  511, 63, WACOM_MO },
-       { "Wacom Bamboo1 Medium",8,  16704, 12064,  511, 63, GRAPHIRE },
-       { "Wacom Volito",        8,   5104,  3712,  511, 63, GRAPHIRE },
-       { "Wacom PenStation2",   8,   3250,  2320,  255, 63, GRAPHIRE },
-       { "Wacom Volito2 4x5",   8,   5104,  3712,  511, 63, GRAPHIRE },
-       { "Wacom Volito2 2x3",   8,   3248,  2320,  511, 63, GRAPHIRE },
-       { "Wacom PenPartner2",   8,   3250,  2320,  511, 63, GRAPHIRE },
-       { "Wacom Bamboo",        9,  14760,  9225,  511, 63, WACOM_MO },
-       { "Wacom Bamboo1",       8,   5104,  3712,  511, 63, GRAPHIRE },
-       { "Wacom Intuos 4x5",   10,  12700, 10600, 1023, 31, INTUOS },
-       { "Wacom Intuos 6x8",   10,  20320, 16240, 1023, 31, INTUOS },
-       { "Wacom Intuos 9x12",  10,  30480, 24060, 1023, 31, INTUOS },
-       { "Wacom Intuos 12x12", 10,  30480, 31680, 1023, 31, INTUOS },
-       { "Wacom Intuos 12x18", 10,  45720, 31680, 1023, 31, INTUOS },
-       { "Wacom PL400",         8,   5408,  4056,  255,  0, PL },
-       { "Wacom PL500",         8,   6144,  4608,  255,  0, PL },
-       { "Wacom PL600",         8,   6126,  4604,  255,  0, PL },
-       { "Wacom PL600SX",       8,   6260,  5016,  255,  0, PL },
-       { "Wacom PL550",         8,   6144,  4608,  511,  0, PL },
-       { "Wacom PL800",         8,   7220,  5780,  511,  0, PL },
-       { "Wacom PL700",         8,   6758,  5406,  511,  0, PL },
-       { "Wacom PL510",         8,   6282,  4762,  511,  0, PL },
-       { "Wacom DTU710",        8,  34080, 27660,  511,  0, PL },
-       { "Wacom DTF521",        8,   6282,  4762,  511,  0, PL },
-       { "Wacom DTF720",        8,   6858,  5506,  511,  0, PL },
-       { "Wacom DTF720a",       8,   6858,  5506,  511,  0, PL },
-       { "Wacom Cintiq Partner",8,  20480, 15360,  511,  0, PTU },
-       { "Wacom Intuos2 4x5",   10, 12700, 10600, 1023, 31, INTUOS },
-       { "Wacom Intuos2 6x8",   10, 20320, 16240, 1023, 31, INTUOS },
-       { "Wacom Intuos2 9x12",  10, 30480, 24060, 1023, 31, INTUOS },
-       { "Wacom Intuos2 12x12", 10, 30480, 31680, 1023, 31, INTUOS },
-       { "Wacom Intuos2 12x18", 10, 45720, 31680, 1023, 31, INTUOS },
-       { "Wacom Intuos3 4x5",   10, 25400, 20320, 1023, 63, INTUOS3S },
-       { "Wacom Intuos3 6x8",   10, 40640, 30480, 1023, 63, INTUOS3 },
-       { "Wacom Intuos3 9x12",  10, 60960, 45720, 1023, 63, INTUOS3 },
-       { "Wacom Intuos3 12x12", 10, 60960, 60960, 1023, 63, INTUOS3L },
-       { "Wacom Intuos3 12x19", 10, 97536, 60960, 1023, 63, INTUOS3L },
-       { "Wacom Intuos3 6x11",  10, 54204, 31750, 1023, 63, INTUOS3 },
-       { "Wacom Intuos3 4x6",   10, 31496, 19685, 1023, 63, INTUOS3S },
-       { "Wacom Intuos4 4x6",   10, 31496, 19685, 2047, 63, INTUOS4S },
-       { "Wacom Intuos4 6x9",   10, 44704, 27940, 2047, 63, INTUOS4 },
-       { "Wacom Intuos4 8x13",  10, 65024, 40640, 2047, 63, INTUOS4L },
-       { "Wacom Intuos4 12x19", 10, 97536, 60960, 2047, 63, INTUOS4L },
-       { "Wacom Cintiq 21UX",   10, 87200, 65600, 1023, 63, CINTIQ },
-       { "Wacom Cintiq 20WSX",  10, 86680, 54180, 1023, 63, WACOM_BEE },
-       { "Wacom Cintiq 12WX",   10, 53020, 33440, 1023, 63, WACOM_BEE },
-       { "Wacom DTU1931",        8, 37832, 30305,  511,  0, PL },
-       { "Wacom ISDv4 90",       8, 26202, 16325,  255,  0, TABLETPC },
-       { "Wacom ISDv4 93",       8, 26202, 16325,  255,  0, TABLETPC },
-       { "Wacom ISDv4 9A",       8, 26202, 16325,  255,  0, TABLETPC },
-       { "Wacom Intuos2 6x8",   10, 20320, 16240, 1023, 31, INTUOS },
+       { "Wacom Penpartner",     WACOM_PKGLEN_PENPRTN,    5040,  3780,  255,  0, PENPARTNER },
+       { "Wacom Graphire",       WACOM_PKGLEN_GRAPHIRE,  10206,  7422,  511, 63, GRAPHIRE },
+       { "Wacom Graphire2 4x5",  WACOM_PKGLEN_GRAPHIRE,  10206,  7422,  511, 63, GRAPHIRE },
+       { "Wacom Graphire2 5x7",  WACOM_PKGLEN_GRAPHIRE,  13918, 10206,  511, 63, GRAPHIRE },
+       { "Wacom Graphire3",      WACOM_PKGLEN_GRAPHIRE,  10208,  7424,  511, 63, GRAPHIRE },
+       { "Wacom Graphire3 6x8",  WACOM_PKGLEN_GRAPHIRE,  16704, 12064,  511, 63, GRAPHIRE },
+       { "Wacom Graphire4 4x5",  WACOM_PKGLEN_GRAPHIRE,  10208,  7424,  511, 63, WACOM_G4 },
+       { "Wacom Graphire4 6x8",  WACOM_PKGLEN_GRAPHIRE,  16704, 12064,  511, 63, WACOM_G4 },
+       { "Wacom BambooFun 4x5",  WACOM_PKGLEN_BBFUN,     14760,  9225,  511, 63, WACOM_MO },
+       { "Wacom BambooFun 6x8",  WACOM_PKGLEN_BBFUN,     21648, 13530,  511, 63, WACOM_MO },
+       { "Wacom Bamboo1 Medium", WACOM_PKGLEN_GRAPHIRE,  16704, 12064,  511, 63, GRAPHIRE },
+       { "Wacom Volito",         WACOM_PKGLEN_GRAPHIRE,   5104,  3712,  511, 63, GRAPHIRE },
+       { "Wacom PenStation2",    WACOM_PKGLEN_GRAPHIRE,   3250,  2320,  255, 63, GRAPHIRE },
+       { "Wacom Volito2 4x5",    WACOM_PKGLEN_GRAPHIRE,   5104,  3712,  511, 63, GRAPHIRE },
+       { "Wacom Volito2 2x3",    WACOM_PKGLEN_GRAPHIRE,   3248,  2320,  511, 63, GRAPHIRE },
+       { "Wacom PenPartner2",    WACOM_PKGLEN_GRAPHIRE,   3250,  2320,  511, 63, GRAPHIRE },
+       { "Wacom Bamboo",         WACOM_PKGLEN_BBFUN,     14760,  9225,  511, 63, WACOM_MO },
+       { "Wacom Bamboo1",        WACOM_PKGLEN_GRAPHIRE,   5104,  3712,  511, 63, GRAPHIRE },
+       { "Wacom Intuos 4x5",     WACOM_PKGLEN_INTUOS,    12700, 10600, 1023, 31, INTUOS },
+       { "Wacom Intuos 6x8",     WACOM_PKGLEN_INTUOS,    20320, 16240, 1023, 31, INTUOS },
+       { "Wacom Intuos 9x12",    WACOM_PKGLEN_INTUOS,    30480, 24060, 1023, 31, INTUOS },
+       { "Wacom Intuos 12x12",   WACOM_PKGLEN_INTUOS,    30480, 31680, 1023, 31, INTUOS },
+       { "Wacom Intuos 12x18",   WACOM_PKGLEN_INTUOS,    45720, 31680, 1023, 31, INTUOS },
+       { "Wacom PL400",          WACOM_PKGLEN_GRAPHIRE,   5408,  4056,  255,  0, PL },
+       { "Wacom PL500",          WACOM_PKGLEN_GRAPHIRE,   6144,  4608,  255,  0, PL },
+       { "Wacom PL600",          WACOM_PKGLEN_GRAPHIRE,   6126,  4604,  255,  0, PL },
+       { "Wacom PL600SX",        WACOM_PKGLEN_GRAPHIRE,   6260,  5016,  255,  0, PL },
+       { "Wacom PL550",          WACOM_PKGLEN_GRAPHIRE,   6144,  4608,  511,  0, PL },
+       { "Wacom PL800",          WACOM_PKGLEN_GRAPHIRE,   7220,  5780,  511,  0, PL },
+       { "Wacom PL700",          WACOM_PKGLEN_GRAPHIRE,   6758,  5406,  511,  0, PL },
+       { "Wacom PL510",          WACOM_PKGLEN_GRAPHIRE,   6282,  4762,  511,  0, PL },
+       { "Wacom DTU710",         WACOM_PKGLEN_GRAPHIRE,  34080, 27660,  511,  0, PL },
+       { "Wacom DTF521",         WACOM_PKGLEN_GRAPHIRE,   6282,  4762,  511,  0, PL },
+       { "Wacom DTF720",         WACOM_PKGLEN_GRAPHIRE,   6858,  5506,  511,  0, PL },
+       { "Wacom DTF720a",        WACOM_PKGLEN_GRAPHIRE,   6858,  5506,  511,  0, PL },
+       { "Wacom Cintiq Partner", WACOM_PKGLEN_GRAPHIRE,  20480, 15360,  511,  0, PTU },
+       { "Wacom Intuos2 4x5",    WACOM_PKGLEN_INTUOS,    12700, 10600, 1023, 31, INTUOS },
+       { "Wacom Intuos2 6x8",    WACOM_PKGLEN_INTUOS,    20320, 16240, 1023, 31, INTUOS },
+       { "Wacom Intuos2 9x12",   WACOM_PKGLEN_INTUOS,    30480, 24060, 1023, 31, INTUOS },
+       { "Wacom Intuos2 12x12",  WACOM_PKGLEN_INTUOS,    30480, 31680, 1023, 31, INTUOS },
+       { "Wacom Intuos2 12x18",  WACOM_PKGLEN_INTUOS,    45720, 31680, 1023, 31, INTUOS },
+       { "Wacom Intuos3 4x5",    WACOM_PKGLEN_INTUOS,    25400, 20320, 1023, 63, INTUOS3S },
+       { "Wacom Intuos3 6x8",    WACOM_PKGLEN_INTUOS,    40640, 30480, 1023, 63, INTUOS3 },
+       { "Wacom Intuos3 9x12",   WACOM_PKGLEN_INTUOS,    60960, 45720, 1023, 63, INTUOS3 },
+       { "Wacom Intuos3 12x12",  WACOM_PKGLEN_INTUOS,    60960, 60960, 1023, 63, INTUOS3L },
+       { "Wacom Intuos3 12x19",  WACOM_PKGLEN_INTUOS,    97536, 60960, 1023, 63, INTUOS3L },
+       { "Wacom Intuos3 6x11",   WACOM_PKGLEN_INTUOS,    54204, 31750, 1023, 63, INTUOS3 },
+       { "Wacom Intuos3 4x6",    WACOM_PKGLEN_INTUOS,    31496, 19685, 1023, 63, INTUOS3S },
+       { "Wacom Intuos4 4x6",    WACOM_PKGLEN_INTUOS,    31496, 19685, 2047, 63, INTUOS4S },
+       { "Wacom Intuos4 6x9",    WACOM_PKGLEN_INTUOS,    44704, 27940, 2047, 63, INTUOS4 },
+       { "Wacom Intuos4 8x13",   WACOM_PKGLEN_INTUOS,    65024, 40640, 2047, 63, INTUOS4L },
+       { "Wacom Intuos4 12x19",  WACOM_PKGLEN_INTUOS,    97536, 60960, 2047, 63, INTUOS4L },
+       { "Wacom Cintiq 21UX",    WACOM_PKGLEN_INTUOS,    87200, 65600, 1023, 63, CINTIQ },
+       { "Wacom Cintiq 20WSX",   WACOM_PKGLEN_INTUOS,    86680, 54180, 1023, 63, WACOM_BEE },
+       { "Wacom Cintiq 12WX",    WACOM_PKGLEN_INTUOS,    53020, 33440, 1023, 63, WACOM_BEE },
+       { "Wacom DTU1931",        WACOM_PKGLEN_GRAPHIRE,  37832, 30305,  511,  0, PL },
+       { "Wacom ISDv4 90",       WACOM_PKGLEN_GRAPHIRE,  26202, 16325,  255,  0, TABLETPC },
+       { "Wacom ISDv4 93",       WACOM_PKGLEN_GRAPHIRE,  26202, 16325,  255,  0, TABLETPC },
+       { "Wacom ISDv4 9A",       WACOM_PKGLEN_GRAPHIRE,  26202, 16325,  255,  0, TABLETPC },
+       { "Wacom Intuos2 6x8",    WACOM_PKGLEN_INTUOS,    20320, 16240, 1023, 31, INTUOS },
        { }
 };
 
index c10235aba7e51493ed093144cd730102c7f07dc3..1bfe9a3bae932bcca2825ca945b037db4ee9bf83 100644 (file)
@@ -9,6 +9,17 @@
 #ifndef WACOM_WAC_H
 #define WACOM_WAC_H
 
+/* maximum packet length for USB devices */
+#define WACOM_PKGLEN_MAX       32
+
+/* 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_PENABLED   8
+#define WACOM_PKGLEN_TPC1FG     5
+
 #define STYLUS_DEVICE_ID       0x02
 #define TOUCH_DEVICE_ID                0x03
 #define CURSOR_DEVICE_ID       0x06