The 2.6.38 and later trees contain a single "MTSCREEN" device that should
be backported to the 2.6.30 kernel.

Signed-off-by: Jason Gerecke <jason.gere...@wacom.com>
---
 2.6.30/wacom_sys.c | 8 ++++++--
 2.6.30/wacom_wac.c | 6 ++++++
 2.6.30/wacom_wac.h | 3 ++-
 3 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/2.6.30/wacom_sys.c b/2.6.30/wacom_sys.c
index bdb1eb8..5ad14e0 100644
--- a/2.6.30/wacom_sys.c
+++ b/2.6.30/wacom_sys.c
@@ -263,6 +263,7 @@ static int wacom_parse_hid(struct usb_interface *intf, 
struct hid_descriptor *hi
                                                         features->type == 
MTTPC ||
                                                         features->type == 
MTTPC_B ||
                                                         features->type == 
MTTPC_C ||
+                                                        features->type == 
MTSCREEN ||
                                                         features->type == 
WACOM_24HDT ||
                                                         features->type == 
WACOM_MSPROT ||
                                                         features->type == 
DTH1152T ||
@@ -274,7 +275,8 @@ static int wacom_parse_hid(struct usb_interface *intf, 
struct hid_descriptor *hi
                                                    features->type == MTTPC_B ||
                                                    features->type == MTTPC_C)
                                                        features->pktlen = 
WACOM_PKGLEN_MTTPC;
-                                               else if (features->type == 
WACOM_24HDT)
+                                               else if (features->type == 
WACOM_24HDT ||
+                                                        features->type == 
MTSCREEN)
                                                        features->pktlen = 
WACOM_PKGLEN_MTOUCH;
                                                else if (features->type == 
WACOM_MSPROT ||
                                                         features->type == 
DTH2452T)
@@ -349,7 +351,8 @@ static int wacom_parse_hid(struct usb_interface *intf, 
struct hid_descriptor *hi
                                } else if (pen) {
                                        /* penabled only accepts exact bytes of 
data */
                                        if (features->type == TABLETPC2FG ||
-                                                       features->type == MTTPC)
+                                           features->type == MTTPC ||
+                                           features->type == MTSCREEN)
                                                features->pktlen = 
WACOM_PKGLEN_GRAPHIRE;
                                        if (features->type == BAMBOO_PT)
                                                features->pktlen = 
WACOM_PKGLEN_BBFUN;
@@ -363,6 +366,7 @@ static int wacom_parse_hid(struct usb_interface *intf, 
struct hid_descriptor *hi
                                if (finger) {
                                        switch (features->type) {
                                        case TABLETPC2FG:
+                                       case MTSCREEN:
                                        case MTTPC:
                                                features->y_max =
                                                        
get_unaligned_le16(&report[i + 3]);
diff --git a/2.6.30/wacom_wac.c b/2.6.30/wacom_wac.c
index 575187b..3b65a8d 100644
--- a/2.6.30/wacom_wac.c
+++ b/2.6.30/wacom_wac.c
@@ -1955,6 +1955,7 @@ void wacom_wac_irq(struct wacom_wac *wacom_wac, size_t 
len)
        case TABLETPC:
        case TABLETPCE:
        case TABLETPC2FG:
+       case MTSCREEN:
        case MTTPC:
        case MTTPC_B:
        case MTTPC_C:
@@ -2320,6 +2321,7 @@ void wacom_setup_input_capabilities(struct input_dev 
*input_dev,
                /* fall through */
 
        case WACOM_MSPROT:
+       case MTSCREEN:
        case MTTPC:
        case MTTPC_B:
        case MTTPC_C:
@@ -2764,6 +2766,9 @@ static const struct wacom_features wacom_features_0xE2 =
 static const struct wacom_features wacom_features_0xE3 =
        { "Wacom ISDv4 E3",       WACOM_PKGLEN_TPC2FG,    26202, 16325, 255, 0,
          TABLETPC2FG, WACOM_INTUOS_RES, WACOM_INTUOS_RES, .touch_max = 2 };
+static const struct wacom_features wacom_features_0xE5 =
+       { "Wacom ISDv4 E5",       WACOM_PKGLEN_MTOUCH,    26202, 16325, 255, 0,
+         MTSCREEN, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
 static const struct wacom_features wacom_features_0xE6 =
        { "Wacom ISDv4 E6",       WACOM_PKGLEN_TPC2FG,    27760, 15694, 255, 0,
          TABLETPC2FG, WACOM_INTUOS_RES, WACOM_INTUOS_RES, .touch_max = 2 };
@@ -3127,6 +3132,7 @@ const struct usb_device_id wacom_ids[] = {
        { USB_DEVICE_WACOM(0xDF) },
        { USB_DEVICE_WACOM(0xE2) },
        { USB_DEVICE_WACOM(0xE3) },
+       { USB_DEVICE_WACOM(0xE5) },
        { USB_DEVICE_WACOM(0xE6) },
        { USB_DEVICE_WACOM(0xEC) },
        { USB_DEVICE_WACOM(0xED) },
diff --git a/2.6.30/wacom_wac.h b/2.6.30/wacom_wac.h
index a0ca458..bdefbc1 100755
--- a/2.6.30/wacom_wac.h
+++ b/2.6.30/wacom_wac.h
@@ -25,9 +25,9 @@
 #define WACOM_PKGLEN_TPC1FG_B  10
 #define WACOM_PKGLEN_TPC2FG    14
 #define WACOM_PKGLEN_BBTOUCH   20
-#define WACOM_PKGLEN_MTOUCH    62
 #define WACOM_PKGLEN_BBTOUCH3  64
 #define WACOM_PKGLEN_BBPEN     10
+#define WACOM_PKGLEN_MTOUCH    62
 #define WACOM_PKGLEN_MTTPC     40
 #define WACOM_PKGLEN_DTUS      68
 #define WACOM_PKGLEN_PENABLED   8
@@ -132,6 +132,7 @@ enum {
        TABLETPCE,
        TABLETPC2FG,
        DTH2452T,
+       MTSCREEN,
        MTTPC,
        MTTPC_B,
        MTTPC_C,
-- 
2.16.2


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to