summaryrefslogtreecommitdiffstats
path: root/wacom-02-parse-the-bamboo-device-family.patch
diff options
context:
space:
mode:
Diffstat (limited to 'wacom-02-parse-the-bamboo-device-family.patch')
-rw-r--r--wacom-02-parse-the-bamboo-device-family.patch122
1 files changed, 0 insertions, 122 deletions
diff --git a/wacom-02-parse-the-bamboo-device-family.patch b/wacom-02-parse-the-bamboo-device-family.patch
deleted file mode 100644
index f24d04d01..000000000
--- a/wacom-02-parse-the-bamboo-device-family.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-From: Ping Cheng <pinglinux@gmail.com>
-Date: Sun, 5 Sep 2010 19:25:40 +0000 (-0700)
-Subject: Input: wacom - parse the Bamboo device family
-X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fdtor%2Finput.git;a=commitdiff_plain;h=4a88081e739a41d6d70bace7e0a027f9054ab540
-
-Input: wacom - parse the Bamboo device family
-
-The Bamboo devices have multiple interfaces which need to be setup
-separately. Use the HID parsing mechanism to achieve that.
-
-Signed-off-by: Ping Cheng <pinglinux@gmail.com>
-Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
-Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
----
-
-diff --git a/drivers/input/tablet/wacom_sys.c b/drivers/input/tablet/wacom_sys.c
-index e510e4f..98cba08 100644
---- a/drivers/input/tablet/wacom_sys.c
-+++ b/drivers/input/tablet/wacom_sys.c
-@@ -195,17 +195,30 @@ static int wacom_parse_hid(struct usb_interface *intf, struct hid_descriptor *hi
- features->pktlen = WACOM_PKGLEN_TPC2FG;
- features->device_type = BTN_TOOL_TRIPLETAP;
- }
-- features->x_max =
-- get_unaligned_le16(&report[i + 3]);
-- features->x_phy =
-- get_unaligned_le16(&report[i + 6]);
-- features->unit = report[i + 9];
-- features->unitExpo = report[i + 11];
-- i += 12;
-+ if (features->type == BAMBOO_PT) {
-+ /* need to reset back */
-+ features->pktlen = WACOM_PKGLEN_BBTOUCH;
-+ features->device_type = BTN_TOOL_TRIPLETAP;
-+ features->x_phy =
-+ get_unaligned_le16(&report[i + 5]);
-+ features->x_max =
-+ get_unaligned_le16(&report[i + 8]);
-+ i += 15;
-+ } else {
-+ features->x_max =
-+ get_unaligned_le16(&report[i + 3]);
-+ features->x_phy =
-+ get_unaligned_le16(&report[i + 6]);
-+ features->unit = report[i + 9];
-+ features->unitExpo = report[i + 11];
-+ i += 12;
-+ }
- } else if (pen) {
- /* penabled only accepts exact bytes of data */
- if (features->type == TABLETPC2FG)
- features->pktlen = WACOM_PKGLEN_GRAPHIRE;
-+ if (features->type == BAMBOO_PT)
-+ features->pktlen = WACOM_PKGLEN_BBFUN;
- features->device_type = BTN_TOOL_PEN;
- features->x_max =
- get_unaligned_le16(&report[i + 3]);
-@@ -234,6 +247,15 @@ static int wacom_parse_hid(struct usb_interface *intf, struct hid_descriptor *hi
- features->y_phy =
- get_unaligned_le16(&report[i + 6]);
- i += 7;
-+ } else if (features->type == BAMBOO_PT) {
-+ /* need to reset back */
-+ features->pktlen = WACOM_PKGLEN_BBTOUCH;
-+ features->device_type = BTN_TOOL_TRIPLETAP;
-+ features->y_phy =
-+ get_unaligned_le16(&report[i + 3]);
-+ features->y_max =
-+ get_unaligned_le16(&report[i + 6]);
-+ i += 12;
- } else {
- features->y_max =
- features->x_max;
-@@ -245,6 +267,8 @@ static int wacom_parse_hid(struct usb_interface *intf, struct hid_descriptor *hi
- /* penabled only accepts exact bytes of data */
- if (features->type == TABLETPC2FG)
- features->pktlen = WACOM_PKGLEN_GRAPHIRE;
-+ if (features->type == BAMBOO_PT)
-+ features->pktlen = WACOM_PKGLEN_BBFUN;
- features->device_type = BTN_TOOL_PEN;
- features->y_max =
- get_unaligned_le16(&report[i + 3]);
-@@ -341,7 +365,8 @@ static int wacom_retrieve_hid_descriptor(struct usb_interface *intf,
- features->distance_fuzz = 0;
-
- /* only Tablet PCs need to retrieve the info */
-- if ((features->type != TABLETPC) && (features->type != TABLETPC2FG))
-+ if ((features->type != TABLETPC) && (features->type != TABLETPC2FG) &&
-+ (features->type != BAMBOO_PT))
- goto out;
-
- if (usb_get_extra_descriptor(interface, HID_DEVICET_HID, &hid_desc)) {
-@@ -499,7 +524,8 @@ static int wacom_probe(struct usb_interface *intf, const struct usb_device_id *i
-
- strlcpy(wacom_wac->name, features->name, sizeof(wacom_wac->name));
-
-- if (features->type == TABLETPC || features->type == TABLETPC2FG) {
-+ if (features->type == TABLETPC || features->type == TABLETPC2FG ||
-+ features->type == BAMBOO_PT) {
- /* Append the device type to the name */
- strlcat(wacom_wac->name,
- features->device_type == BTN_TOOL_PEN ?
-diff --git a/drivers/input/tablet/wacom_wac.h b/drivers/input/tablet/wacom_wac.h
-index d769e9a..fb30895 100644
---- a/drivers/input/tablet/wacom_wac.h
-+++ b/drivers/input/tablet/wacom_wac.h
-@@ -21,6 +21,7 @@
- #define WACOM_PKGLEN_INTUOS 10
- #define WACOM_PKGLEN_TPC1FG 5
- #define WACOM_PKGLEN_TPC2FG 14
-+#define WACOM_PKGLEN_BBTOUCH 20
-
- /* device IDs */
- #define STYLUS_DEVICE_ID 0x02
-@@ -44,6 +45,7 @@ enum {
- PTU,
- PL,
- DTU,
-+ BAMBOO_PT,
- INTUOS,
- INTUOS3S,
- INTUOS3,