Precedence of & and >> is not the same and is not left to right.
shift has higher precedence and should be done after the mask.

Here the shifts are unnecessary and a non-zero value can be used
as the test to set 1 or zero.

Signed-off-by: Joe Perches <j...@perches.com>
---
 drivers/input/tablet/aiptek.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/input/tablet/aiptek.c b/drivers/input/tablet/aiptek.c
index e7f966d..dee2bb9 100644
--- a/drivers/input/tablet/aiptek.c
+++ b/drivers/input/tablet/aiptek.c
@@ -489,9 +489,9 @@ static void aiptek_irq(struct urb *urb)
                         */
                        jitterable = data[1] & 0x07;
 
-                       left = (data[1] & aiptek->curSetting.mouseButtonLeft >> 
2) != 0 ? 1 : 0;
-                       right = (data[1] & aiptek->curSetting.mouseButtonRight 
>> 2) != 0 ? 1 : 0;
-                       middle = (data[1] & 
aiptek->curSetting.mouseButtonMiddle >> 2) != 0 ? 1 : 0;
+                       left = data[1] & aiptek->curSetting.mouseButtonLeft ? 1 
: 0;
+                       right = data[1] & aiptek->curSetting.mouseButtonRight ? 
1 : 0;
+                       middle = data[1] & aiptek->curSetting.mouseButtonMiddle 
? 1 : 0;
 
                        input_report_key(inputdev, BTN_LEFT, left);
                        input_report_key(inputdev, BTN_MIDDLE, middle);
-- 
2.1.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to