Input: synaptics - do not mix logical and bitwise operations
Subsystems (2)
Dmitry Torokhov
maintainerPATCH 1/1 Input: synaptics - do not mix logical and bitwise operations
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.cdrivers/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.
--- drivers/input/mouse/synaptics.c | 6 +++--- drivers/input/mouse/synaptics.h | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-)
drivers/input/mouse/synaptics.c +3 -3
@@ -940,9 +940,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 );
drivers/input/mouse/synaptics.h +3 -3
@@ -112,9 +112,9 @@#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))
Signature · 5 lines
2.12.1.500.gab5fba24ee-goog -- Dmitry
Quoted 11 lines · Dmitry Torokhov
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.cdrivers/input/mouse/synaptics.c:943:79: warning: dubious: !x | yAlso, the bits we are testing are not capabilities, so lets drop "
_CAP" suffix from macro names.Signed-off-by Dmitry Torokhov <[email protected]>---
Looks good to me:
Cheers,
Benjamin
Quoted 44 lines
drivers/input/mouse/synaptics.c | 6 +++--- drivers/input/mouse/synaptics.h | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-)drivers/input/mouse/synaptics.c +3
-3@@ -940,9 +940,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 );drivers/input/mouse/synaptics.h +3
-3@@ -112,9 +112,9 @@#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))Signature · 5 lines
2.12.1.500.gab5fba24ee-goog -- Dmitry