Input: synaptics - do not mix logical and bitwise operations
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 23 Mar 2017 17:02:50 +0000 (10:02 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 23 Mar 2017 21:49:37 +0000 (14:49 -0700)
Let's stop using !!x to reduce value of trackstick button expression to 0/1
and use shift instead. This removes the following sparse warning:

  CHECK   drivers/input/mouse/synaptics.c
drivers/input/mouse/synaptics.c:943:79: warning: dubious: !x | y

Also, the bits we are testing are not capabilities, so lets drop "_CAP"
suffix from macro names.

Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/mouse/synaptics.c
drivers/input/mouse/synaptics.h

index 597ee4b01d9ff8939a716c2f0a2a5f008d0481f0..6a23c21968c10a9dc854c10b41068dccc4770a19 100644 (file)
@@ -884,9 +884,9 @@ static void synaptics_report_ext_buttons(struct psmouse *psmouse,
                u8 pt_buttons;
 
                /* The trackstick expects at most 3 buttons */
-               pt_buttons = SYN_CAP_EXT_BUTTON_STICK_L(hw->ext_buttons)      |
-                            SYN_CAP_EXT_BUTTON_STICK_R(hw->ext_buttons) << 1 |
-                            SYN_CAP_EXT_BUTTON_STICK_M(hw->ext_buttons) << 2;
+               pt_buttons = SYN_EXT_BUTTON_STICK_L(hw->ext_buttons)      |
+                            SYN_EXT_BUTTON_STICK_R(hw->ext_buttons) << 1 |
+                            SYN_EXT_BUTTON_STICK_M(hw->ext_buttons) << 2;
 
                serio_interrupt(priv->pt_port,
                                PSMOUSE_OOB_EXTRA_BTNS, SERIO_OOB_DATA);
index 116ae2546ace9618430612274f39f6237c8ae8ad..b76bb7a384724ef669f21e1e731d83ae7651f749 100644 (file)
 #define SYN_CAP_EXT_BUTTONS_STICK(ex10)        ((ex10) & 0x010000)
 #define SYN_CAP_SECUREPAD(ex10)                ((ex10) & 0x020000)
 
-#define SYN_CAP_EXT_BUTTON_STICK_L(eb) (!!((eb) & 0x01))
-#define SYN_CAP_EXT_BUTTON_STICK_M(eb) (!!((eb) & 0x02))
-#define SYN_CAP_EXT_BUTTON_STICK_R(eb) (!!((eb) & 0x04))
+#define SYN_EXT_BUTTON_STICK_L(eb)     (((eb) & BIT(0)) >> 0)
+#define SYN_EXT_BUTTON_STICK_M(eb)     (((eb) & BIT(1)) >> 1)
+#define SYN_EXT_BUTTON_STICK_R(eb)     (((eb) & BIT(2)) >> 2)
 
 /* synaptics modes query bits */
 #define SYN_MODE_ABSOLUTE(m)           ((m) & (1 << 7))