diff options
Diffstat (limited to 'wacom-02-parse-the-bamboo-device-family.patch')
-rw-r--r-- | wacom-02-parse-the-bamboo-device-family.patch | 122 |
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, |