aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input
diff options
context:
space:
mode:
authorChris Bagwell <chris@cnpbagwell.com>2012-06-12 00:25:48 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-08-15 12:04:30 -0700
commitab7029e676b83e54e639101e5ba96a07d7968cd5 (patch)
treeff0c44b34ee911ff58c2d09b2dd2610f40bfdbf6 /drivers/input
parent5a4cebe94b76a0182a8ebb97b665ff84e7427482 (diff)
downloadkernel_samsung_smdk4412-ab7029e676b83e54e639101e5ba96a07d7968cd5.zip
kernel_samsung_smdk4412-ab7029e676b83e54e639101e5ba96a07d7968cd5.tar.gz
kernel_samsung_smdk4412-ab7029e676b83e54e639101e5ba96a07d7968cd5.tar.bz2
Input: wacom - Bamboo One 1024 pressure fix
commit 6dc463511d4a690f01a9248df3b384db717e0b1c upstream. Bamboo One's with ID of 0x6a and 0x6b were added with correct indication of 1024 pressure levels but the Graphire packet routine was only looking at 9 bits. Increased to 10 bits. This bug caused these devices to roll over to zero pressure at half way mark. The other devices using this routine only support 256 or 512 range and look to fix unused bits at zero. Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Reported-by: Tushant Mirchandani <tushantin@gmail.com> Reviewed-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/input')
-rw-r--r--drivers/input/tablet/wacom_wac.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/input/tablet/wacom_wac.c b/drivers/input/tablet/wacom_wac.c
index 08ba5ad..a28ebf0 100644
--- a/drivers/input/tablet/wacom_wac.c
+++ b/drivers/input/tablet/wacom_wac.c
@@ -242,7 +242,7 @@ static int wacom_graphire_irq(struct wacom_wac *wacom)
input_report_abs(input, ABS_X, le16_to_cpup((__le16 *)&data[2]));
input_report_abs(input, ABS_Y, le16_to_cpup((__le16 *)&data[4]));
if (wacom->tool[0] != BTN_TOOL_MOUSE) {
- input_report_abs(input, ABS_PRESSURE, data[6] | ((data[7] & 0x01) << 8));
+ input_report_abs(input, ABS_PRESSURE, data[6] | ((data[7] & 0x03) << 8));
input_report_key(input, BTN_TOUCH, data[1] & 0x01);
input_report_key(input, BTN_STYLUS, data[1] & 0x02);
input_report_key(input, BTN_STYLUS2, data[1] & 0x04);