Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Input: samsung-keypad - use BIT() and GENMASK() where appropriate

Instead of using (1 << <shift>) construct use BIT() helper. Convert (1
<< <shift>) - 1 to GENMASK().

Link: https://lore.kernel.org/r/20240819045813.2154642-9-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

+10 -9
+10 -9
drivers/input/keyboard/samsung-keypad.c
··· 7 7 * Author: Donghwa Lee <dh09.lee@samsung.com> 8 8 */ 9 9 10 + #include <linux/bits.h> 10 11 #include <linux/clk.h> 11 12 #include <linux/delay.h> 12 13 #include <linux/err.h> ··· 30 29 #define SAMSUNG_KEYIFFC 0x10 31 30 32 31 /* SAMSUNG_KEYIFCON */ 33 - #define SAMSUNG_KEYIFCON_INT_F_EN (1 << 0) 34 - #define SAMSUNG_KEYIFCON_INT_R_EN (1 << 1) 35 - #define SAMSUNG_KEYIFCON_DF_EN (1 << 2) 36 - #define SAMSUNG_KEYIFCON_FC_EN (1 << 3) 37 - #define SAMSUNG_KEYIFCON_WAKEUPEN (1 << 4) 32 + #define SAMSUNG_KEYIFCON_INT_F_EN BIT(0) 33 + #define SAMSUNG_KEYIFCON_INT_R_EN BIT(1) 34 + #define SAMSUNG_KEYIFCON_DF_EN BIT(2) 35 + #define SAMSUNG_KEYIFCON_FC_EN BIT(3) 36 + #define SAMSUNG_KEYIFCON_WAKEUPEN BIT(4) 38 37 39 38 /* SAMSUNG_KEYIFSTSCLR */ 40 39 #define SAMSUNG_KEYIFSTSCLR_P_INT_MASK (0xff << 0) ··· 82 81 unsigned int val; 83 82 84 83 for (col = 0; col < keypad->cols; col++) { 85 - val = SAMSUNG_KEYIFCOL_MASK & ~(1 << col); 84 + val = SAMSUNG_KEYIFCOL_MASK & ~BIT(col); 86 85 val <<= keypad->chip->column_shift; 87 86 88 87 writel(val, keypad->base + SAMSUNG_KEYIFCOL); 89 88 mdelay(1); 90 89 91 90 val = readl(keypad->base + SAMSUNG_KEYIFROW); 92 - row_state[col] = ~val & ((1 << keypad->rows) - 1); 91 + row_state[col] = ~val & GENMASK(keypad->rows - 1, 0); 93 92 } 94 93 95 94 /* KEYIFCOL reg clear */ ··· 113 112 continue; 114 113 115 114 for (row = 0; row < keypad->rows; row++) { 116 - if (!(changed & (1 << row))) 115 + if (!(changed & BIT(row))) 117 116 continue; 118 117 119 - pressed = row_state[col] & (1 << row); 118 + pressed = row_state[col] & BIT(row); 120 119 121 120 dev_dbg(&keypad->input_dev->dev, 122 121 "key %s, row: %d, col: %d\n",