/kernel/linux/linux-5.10/drivers/input/keyboard/ |
H A D | ep93xx_keypad.c | 3 * Driver for the Cirrus EP93xx matrix keypad controller. 7 * Based on the pxa27x matrix keypad controller by Rodolfo Giometti. 28 #include <linux/platform_data/keypad-ep93xx.h> 82 struct ep93xx_keypad *keypad = dev_id; in ep93xx_keypad_irq_handler() local 83 struct input_dev *input_dev = keypad->input_dev; in ep93xx_keypad_irq_handler() 87 status = __raw_readl(keypad->mmio_base + KEY_REG); in ep93xx_keypad_irq_handler() 90 key1 = keypad->keycodes[keycode]; in ep93xx_keypad_irq_handler() 93 key2 = keypad->keycodes[keycode]; in ep93xx_keypad_irq_handler() 96 if (keypad->key1 && key1 != keypad in ep93xx_keypad_irq_handler() 131 ep93xx_keypad_config(struct ep93xx_keypad *keypad) ep93xx_keypad_config() argument 156 struct ep93xx_keypad *keypad = input_get_drvdata(pdev); ep93xx_keypad_open() local 169 struct ep93xx_keypad *keypad = input_get_drvdata(pdev); ep93xx_keypad_close() local 182 struct ep93xx_keypad *keypad = platform_get_drvdata(pdev); ep93xx_keypad_suspend() local 203 struct ep93xx_keypad *keypad = platform_get_drvdata(pdev); ep93xx_keypad_resume() local 230 struct ep93xx_keypad *keypad; ep93xx_keypad_probe() local 343 struct ep93xx_keypad *keypad = platform_get_drvdata(pdev); ep93xx_keypad_remove() local [all...] |
H A D | samsung-keypad.c | 3 * Samsung keypad driver 23 #include <linux/input/samsung-keypad.h> 79 static void samsung_keypad_scan(struct samsung_keypad *keypad, in samsung_keypad_scan() argument 85 for (col = 0; col < keypad->cols; col++) { in samsung_keypad_scan() 86 if (keypad->type == KEYPAD_TYPE_S5PV210) { in samsung_keypad_scan() 94 writel(val, keypad->base + SAMSUNG_KEYIFCOL); in samsung_keypad_scan() 97 val = readl(keypad->base + SAMSUNG_KEYIFROW); in samsung_keypad_scan() 98 row_state[col] = ~val & ((1 << keypad->rows) - 1); in samsung_keypad_scan() 102 writel(0, keypad->base + SAMSUNG_KEYIFCOL); in samsung_keypad_scan() 105 static bool samsung_keypad_report(struct samsung_keypad *keypad, in samsung_keypad_report() argument 147 struct samsung_keypad *keypad = dev_id; samsung_keypad_irq() local 173 samsung_keypad_start(struct samsung_keypad *keypad) samsung_keypad_start() argument 195 samsung_keypad_stop(struct samsung_keypad *keypad) samsung_keypad_stop() argument 227 struct samsung_keypad *keypad = input_get_drvdata(input_dev); samsung_keypad_open() local 236 struct samsung_keypad *keypad = input_get_drvdata(input_dev); samsung_keypad_close() local 319 struct samsung_keypad *keypad; samsung_keypad_probe() local 451 struct samsung_keypad *keypad = platform_get_drvdata(pdev); samsung_keypad_remove() local 466 struct samsung_keypad *keypad = platform_get_drvdata(pdev); samsung_keypad_runtime_suspend() local 490 struct samsung_keypad *keypad = platform_get_drvdata(pdev); samsung_keypad_runtime_resume() local 510 samsung_keypad_toggle_wakeup(struct samsung_keypad *keypad, bool enable) samsung_keypad_toggle_wakeup() argument 535 struct samsung_keypad *keypad = platform_get_drvdata(pdev); samsung_keypad_suspend() local 553 struct samsung_keypad *keypad = platform_get_drvdata(pdev); samsung_keypad_resume() local [all...] |
H A D | imx_keypad.c | 3 // Driver for the IMX keypad port. 78 static void imx_keypad_scan_matrix(struct imx_keypad *keypad, in imx_keypad_scan_matrix() argument 85 if ((keypad->cols_en_mask & (1 << col)) == 0) in imx_keypad_scan_matrix() 88 * Discharge keypad capacitance: in imx_keypad_scan_matrix() 93 reg_val = readw(keypad->mmio_base + KPDR); in imx_keypad_scan_matrix() 95 writew(reg_val, keypad->mmio_base + KPDR); in imx_keypad_scan_matrix() 97 reg_val = readw(keypad->mmio_base + KPCR); in imx_keypad_scan_matrix() 98 reg_val &= ~((keypad->cols_en_mask & 0xff) << 8); in imx_keypad_scan_matrix() 99 writew(reg_val, keypad->mmio_base + KPCR); in imx_keypad_scan_matrix() 103 reg_val = readw(keypad in imx_keypad_scan_matrix() 143 imx_keypad_fire_events(struct imx_keypad *keypad, unsigned short *matrix_volatile_state) imx_keypad_fire_events() argument 185 struct imx_keypad *keypad = from_timer(keypad, t, check_matrix_timer); imx_keypad_check_for_events() local 289 struct imx_keypad *keypad = dev_id; imx_keypad_irq_handler() local 312 imx_keypad_config(struct imx_keypad *keypad) imx_keypad_config() argument 348 imx_keypad_inhibit(struct imx_keypad *keypad) imx_keypad_inhibit() argument 365 struct imx_keypad *keypad = input_get_drvdata(dev); imx_keypad_close() local 382 struct imx_keypad *keypad = input_get_drvdata(dev); imx_keypad_open() local 423 struct imx_keypad *keypad; imx_keypad_probe() local [all...] |
H A D | nomadik-ske-keypad.c | 22 #include <linux/platform_data/keypad-nomadik-ske.h> 44 /* keypad auto scan registers */ 54 * struct ske_keypad - data structure used by keypad driver 58 * @board: keypad platform device 73 static void ske_keypad_set_bits(struct ske_keypad *keypad, u16 addr, in ske_keypad_set_bits() argument 78 spin_lock(&keypad->ske_keypad_lock); in ske_keypad_set_bits() 80 ret = readl(keypad->reg_base + addr); in ske_keypad_set_bits() 83 writel(ret, keypad->reg_base + addr); in ske_keypad_set_bits() 85 spin_unlock(&keypad->ske_keypad_lock); in ske_keypad_set_bits() 89 * ske_keypad_chip_init: init keypad controlle 93 ske_keypad_chip_init(struct ske_keypad *keypad) ske_keypad_chip_init() argument 139 ske_keypad_report(struct ske_keypad *keypad, u8 status, int col) ske_keypad_report() argument 165 ske_keypad_read_data(struct ske_keypad *keypad) ske_keypad_read_data() argument 199 struct ske_keypad *keypad = dev_id; ske_keypad_irq() local 226 struct ske_keypad *keypad; ske_keypad_probe() local 369 struct ske_keypad *keypad = platform_get_drvdata(pdev); ske_keypad_remove() local 393 struct ske_keypad *keypad = platform_get_drvdata(pdev); ske_keypad_suspend() local 407 struct ske_keypad *keypad = platform_get_drvdata(pdev); ske_keypad_resume() local [all...] |
H A D | matrix_keypad.c | 85 static void enable_row_irqs(struct matrix_keypad *keypad) in enable_row_irqs() argument 87 const struct matrix_keypad_platform_data *pdata = keypad->pdata; in enable_row_irqs() 98 static void disable_row_irqs(struct matrix_keypad *keypad) in disable_row_irqs() argument 100 const struct matrix_keypad_platform_data *pdata = keypad->pdata; in disable_row_irqs() 116 struct matrix_keypad *keypad = in matrix_keypad_scan() local 118 struct input_dev *input_dev = keypad->input_dev; in matrix_keypad_scan() 120 const struct matrix_keypad_platform_data *pdata = keypad->pdata; in matrix_keypad_scan() 144 bits_changed = keypad->last_key_state[col] ^ new_state[col]; in matrix_keypad_scan() 152 code = MATRIX_SCAN_CODE(row, col, keypad->row_shift); in matrix_keypad_scan() 161 memcpy(keypad in matrix_keypad_scan() 174 struct matrix_keypad *keypad = id; matrix_keypad_interrupt() local 199 struct matrix_keypad *keypad = input_get_drvdata(dev); matrix_keypad_start() local 215 struct matrix_keypad *keypad = input_get_drvdata(dev); matrix_keypad_stop() local 230 matrix_keypad_enable_wakeup(struct matrix_keypad *keypad) matrix_keypad_enable_wakeup() argument 252 matrix_keypad_disable_wakeup(struct matrix_keypad *keypad) matrix_keypad_disable_wakeup() argument 276 struct matrix_keypad *keypad = platform_get_drvdata(pdev); matrix_keypad_suspend() local 289 struct matrix_keypad *keypad = platform_get_drvdata(pdev); matrix_keypad_resume() local 303 matrix_keypad_init_gpio(struct platform_device *pdev, struct matrix_keypad *keypad) matrix_keypad_init_gpio() argument 380 matrix_keypad_free_gpio(struct matrix_keypad *keypad) matrix_keypad_free_gpio() argument 483 struct matrix_keypad *keypad; matrix_keypad_probe() local 554 struct matrix_keypad *keypad = platform_get_drvdata(pdev); matrix_keypad_remove() local [all...] |
H A D | nspire-keypad.c | 52 struct nspire_keypad *keypad = dev_id; in nspire_keypad_irq() local 53 struct input_dev *input = keypad->input; in nspire_keypad_irq() 61 int_sts = readl(keypad->reg_base + KEYPAD_INT) & keypad->int_mask; in nspire_keypad_irq() 65 memcpy_fromio(state, keypad->reg_base + KEYPAD_DATA, sizeof(state)); in nspire_keypad_irq() 69 if (keypad->active_low) in nspire_keypad_irq() 72 changed = bits ^ keypad->state[row]; in nspire_keypad_irq() 76 keypad->state[row] = bits; in nspire_keypad_irq() 82 code = MATRIX_SCAN_CODE(row, col, keypad->row_shift); in nspire_keypad_irq() 91 writel(0x3, keypad in nspire_keypad_irq() 98 struct nspire_keypad *keypad = input_get_drvdata(input); nspire_keypad_open() local 135 struct nspire_keypad *keypad = input_get_drvdata(input); nspire_keypad_close() local 148 struct nspire_keypad *keypad; nspire_keypad_probe() local [all...] |
H A D | pxa27x_keypad.c | 29 #include <linux/platform_data/keypad-pxa27x.h> 90 #define keypad_readl(off) __raw_readl(keypad->mmio_base + (off)) 91 #define keypad_writel(off, v) __raw_writel((v), keypad->mmio_base + (off)) 118 static int pxa27x_keypad_matrix_key_parse_dt(struct pxa27x_keypad *keypad, in pxa27x_keypad_matrix_key_parse_dt() argument 121 struct input_dev *input_dev = keypad->input_dev; in pxa27x_keypad_matrix_key_parse_dt() 141 keypad->keycodes, input_dev); in pxa27x_keypad_matrix_key_parse_dt() 148 static int pxa27x_keypad_direct_key_parse_dt(struct pxa27x_keypad *keypad, in pxa27x_keypad_direct_key_parse_dt() argument 151 struct input_dev *input_dev = keypad->input_dev; in pxa27x_keypad_direct_key_parse_dt() 178 * default value. Default value is set when configure the keypad. in pxa27x_keypad_direct_key_parse_dt() 201 keypad in pxa27x_keypad_direct_key_parse_dt() 208 pxa27x_keypad_rotary_parse_dt(struct pxa27x_keypad *keypad, struct pxa27x_keypad_platform_data *pdata) pxa27x_keypad_rotary_parse_dt() argument 281 pxa27x_keypad_build_keycode_from_dt(struct pxa27x_keypad *keypad) pxa27x_keypad_build_keycode_from_dt() argument 332 pxa27x_keypad_build_keycode_from_dt(struct pxa27x_keypad *keypad) pxa27x_keypad_build_keycode_from_dt() argument 341 pxa27x_keypad_build_keycode(struct pxa27x_keypad *keypad) pxa27x_keypad_build_keycode() argument 408 pxa27x_keypad_scan_matrix(struct pxa27x_keypad *keypad) pxa27x_keypad_scan_matrix() argument 487 report_rotary_event(struct pxa27x_keypad *keypad, int r, int delta) report_rotary_event() argument 511 pxa27x_keypad_scan_rotary(struct pxa27x_keypad *keypad) pxa27x_keypad_scan_rotary() argument 527 pxa27x_keypad_scan_direct(struct pxa27x_keypad *keypad) pxa27x_keypad_scan_direct() argument 567 clear_wakeup_event(struct pxa27x_keypad *keypad) clear_wakeup_event() argument 577 struct pxa27x_keypad *keypad = dev_id; pxa27x_keypad_irq_handler() local 591 pxa27x_keypad_config(struct pxa27x_keypad *keypad) pxa27x_keypad_config() argument 643 struct pxa27x_keypad *keypad = input_get_drvdata(dev); pxa27x_keypad_open() local 657 struct pxa27x_keypad *keypad = input_get_drvdata(dev); pxa27x_keypad_close() local 667 struct pxa27x_keypad *keypad = platform_get_drvdata(pdev); pxa27x_keypad_suspend() local 684 struct pxa27x_keypad *keypad = platform_get_drvdata(pdev); pxa27x_keypad_resume() local 720 struct pxa27x_keypad *keypad; pxa27x_keypad_probe() local [all...] |
H A D | stmpe-keypad.c | 115 * struct stmpe_keypad - STMPE keypad state container 140 static int stmpe_keypad_read_data(struct stmpe_keypad *keypad, u8 *data) in stmpe_keypad_read_data() argument 142 const struct stmpe_keypad_variant *variant = keypad->variant; in stmpe_keypad_read_data() 143 struct stmpe *stmpe = keypad->stmpe; in stmpe_keypad_read_data() 164 struct stmpe_keypad *keypad = dev; in stmpe_keypad_irq() local 165 struct input_dev *input = keypad->input; in stmpe_keypad_irq() 166 const struct stmpe_keypad_variant *variant = keypad->variant; in stmpe_keypad_irq() 171 ret = stmpe_keypad_read_data(keypad, fifo); in stmpe_keypad_irq() 187 input_report_key(input, keypad->keymap[code], !up); in stmpe_keypad_irq() 194 static int stmpe_keypad_altfunc_init(struct stmpe_keypad *keypad) in stmpe_keypad_altfunc_init() argument 264 stmpe_keypad_chip_init(struct stmpe_keypad *keypad) stmpe_keypad_chip_init() argument 313 stmpe_keypad_fill_used_pins(struct stmpe_keypad *keypad, u32 used_rows, u32 used_cols) stmpe_keypad_fill_used_pins() argument 334 struct stmpe_keypad *keypad; stmpe_keypad_probe() local 408 struct stmpe_keypad *keypad = platform_get_drvdata(pdev); stmpe_keypad_remove() local [all...] |
H A D | st-keyscan.c | 41 struct st_keyscan *keypad = dev_id; in keyscan_isr() local 42 unsigned short *keycode = keypad->input_dev->keycode; in keyscan_isr() 46 state = readl(keypad->base + KEYSCAN_MATRIX_STATE_OFF) & 0xffff; in keyscan_isr() 47 change = keypad->last_state ^ state; in keyscan_isr() 48 keypad->last_state = state; in keyscan_isr() 51 input_report_key(keypad->input_dev, in keyscan_isr() 54 input_sync(keypad->input_dev); in keyscan_isr() 59 static int keyscan_start(struct st_keyscan *keypad) in keyscan_start() argument 63 error = clk_enable(keypad->clk); in keyscan_start() 67 writel(keypad in keyscan_start() 79 keyscan_stop(struct st_keyscan *keypad) keyscan_stop() argument 88 struct st_keyscan *keypad = input_get_drvdata(dev); keyscan_open() local 95 struct st_keyscan *keypad = input_get_drvdata(dev); keyscan_close() local 217 struct st_keyscan *keypad = platform_get_drvdata(pdev); keyscan_suspend() local 234 struct st_keyscan *keypad = platform_get_drvdata(pdev); keyscan_resume() local [all...] |
H A D | tc3589x-keypad.c | 21 /* Maximum supported keypad matrix row/columns size */ 25 /* keypad related Constants */ 73 * struct tc35893_keypad_platform_data - platform specific keypad data 80 * @enable_wakeup: specifies if keypad event can wake up system from sleep 95 * struct tc_keypad - data structure used by keypad driver 98 * @board: keypad platform device 102 * @keypad_stopped: holds keypad status 114 static int tc3589x_keypad_init_key_hardware(struct tc_keypad *keypad) in tc3589x_keypad_init_key_hardware() argument 117 struct tc3589x *tc3589x = keypad->tc3589x; in tc3589x_keypad_init_key_hardware() 118 const struct tc3589x_keypad_platform_data *board = keypad in tc3589x_keypad_init_key_hardware() 191 struct tc_keypad *keypad = dev; tc3589x_keypad_irq() local 226 tc3589x_keypad_enable(struct tc_keypad *keypad) tc3589x_keypad_enable() argument 262 tc3589x_keypad_disable(struct tc_keypad *keypad) tc3589x_keypad_disable() argument 295 struct tc_keypad *keypad = input_get_drvdata(input); tc3589x_keypad_open() local 315 struct tc_keypad *keypad = input_get_drvdata(input); tc3589x_keypad_close() local 377 struct tc_keypad *keypad; tc3589x_keypad_probe() local 462 struct tc_keypad *keypad = platform_get_drvdata(pdev); tc3589x_keypad_suspend() local 481 struct tc_keypad *keypad = platform_get_drvdata(pdev); tc3589x_keypad_resume() local [all...] |
H A D | max7359_keypad.c | 87 struct max7359_keypad *keypad = dev_id; in max7359_interrupt() local 88 struct input_dev *input_dev = keypad->input_dev; in max7359_interrupt() 91 val = max7359_read_reg(keypad->client, MAX7359_REG_KEYFIFO); in max7359_interrupt() 98 dev_dbg(&keypad->client->dev, in max7359_interrupt() 102 input_report_key(input_dev, keypad->keycodes[code], !release); in max7359_interrupt() 129 struct max7359_keypad *keypad = input_get_drvdata(dev); in max7359_open() local 131 max7359_take_catnap(keypad->client); in max7359_open() 138 struct max7359_keypad *keypad = input_get_drvdata(dev); in max7359_close() local 140 max7359_fall_deepsleep(keypad->client); in max7359_close() 163 struct max7359_keypad *keypad; in max7359_probe() local [all...] |
/kernel/linux/linux-6.6/drivers/input/keyboard/ |
H A D | samsung-keypad.c | 3 * Samsung keypad driver 23 #include <linux/input/samsung-keypad.h> 79 static void samsung_keypad_scan(struct samsung_keypad *keypad, in samsung_keypad_scan() argument 85 for (col = 0; col < keypad->cols; col++) { in samsung_keypad_scan() 86 if (keypad->type == KEYPAD_TYPE_S5PV210) { in samsung_keypad_scan() 94 writel(val, keypad->base + SAMSUNG_KEYIFCOL); in samsung_keypad_scan() 97 val = readl(keypad->base + SAMSUNG_KEYIFROW); in samsung_keypad_scan() 98 row_state[col] = ~val & ((1 << keypad->rows) - 1); in samsung_keypad_scan() 102 writel(0, keypad->base + SAMSUNG_KEYIFCOL); in samsung_keypad_scan() 105 static bool samsung_keypad_report(struct samsung_keypad *keypad, in samsung_keypad_report() argument 147 struct samsung_keypad *keypad = dev_id; samsung_keypad_irq() local 172 samsung_keypad_start(struct samsung_keypad *keypad) samsung_keypad_start() argument 194 samsung_keypad_stop(struct samsung_keypad *keypad) samsung_keypad_stop() argument 226 struct samsung_keypad *keypad = input_get_drvdata(input_dev); samsung_keypad_open() local 235 struct samsung_keypad *keypad = input_get_drvdata(input_dev); samsung_keypad_close() local 317 struct samsung_keypad *keypad; samsung_keypad_probe() local 449 struct samsung_keypad *keypad = platform_get_drvdata(pdev); samsung_keypad_remove() local 463 struct samsung_keypad *keypad = platform_get_drvdata(pdev); samsung_keypad_runtime_suspend() local 487 struct samsung_keypad *keypad = platform_get_drvdata(pdev); samsung_keypad_runtime_resume() local 505 samsung_keypad_toggle_wakeup(struct samsung_keypad *keypad, bool enable) samsung_keypad_toggle_wakeup() argument 530 struct samsung_keypad *keypad = platform_get_drvdata(pdev); samsung_keypad_suspend() local 548 struct samsung_keypad *keypad = platform_get_drvdata(pdev); samsung_keypad_resume() local [all...] |
H A D | ep93xx_keypad.c | 3 * Driver for the Cirrus EP93xx matrix keypad controller. 7 * Based on the pxa27x matrix keypad controller by Rodolfo Giometti. 30 #include <linux/platform_data/keypad-ep93xx.h> 85 struct ep93xx_keypad *keypad = dev_id; in ep93xx_keypad_irq_handler() local 86 struct input_dev *input_dev = keypad->input_dev; in ep93xx_keypad_irq_handler() 90 status = __raw_readl(keypad->mmio_base + KEY_REG); in ep93xx_keypad_irq_handler() 93 key1 = keypad->keycodes[keycode]; in ep93xx_keypad_irq_handler() 96 key2 = keypad->keycodes[keycode]; in ep93xx_keypad_irq_handler() 99 if (keypad->key1 && key1 != keypad in ep93xx_keypad_irq_handler() 134 ep93xx_keypad_config(struct ep93xx_keypad *keypad) ep93xx_keypad_config() argument 159 struct ep93xx_keypad *keypad = input_get_drvdata(pdev); ep93xx_keypad_open() local 172 struct ep93xx_keypad *keypad = input_get_drvdata(pdev); ep93xx_keypad_close() local 184 struct ep93xx_keypad *keypad = platform_get_drvdata(pdev); ep93xx_keypad_suspend() local 202 struct ep93xx_keypad *keypad = platform_get_drvdata(pdev); ep93xx_keypad_resume() local 232 struct ep93xx_keypad *keypad; ep93xx_keypad_probe() local [all...] |
H A D | imx_keypad.c | 3 // Driver for the IMX keypad port. 79 static void imx_keypad_scan_matrix(struct imx_keypad *keypad, in imx_keypad_scan_matrix() argument 86 if ((keypad->cols_en_mask & (1 << col)) == 0) in imx_keypad_scan_matrix() 89 * Discharge keypad capacitance: in imx_keypad_scan_matrix() 94 reg_val = readw(keypad->mmio_base + KPDR); in imx_keypad_scan_matrix() 96 writew(reg_val, keypad->mmio_base + KPDR); in imx_keypad_scan_matrix() 98 reg_val = readw(keypad->mmio_base + KPCR); in imx_keypad_scan_matrix() 99 reg_val &= ~((keypad->cols_en_mask & 0xff) << 8); in imx_keypad_scan_matrix() 100 writew(reg_val, keypad->mmio_base + KPCR); in imx_keypad_scan_matrix() 104 reg_val = readw(keypad in imx_keypad_scan_matrix() 144 imx_keypad_fire_events(struct imx_keypad *keypad, unsigned short *matrix_volatile_state) imx_keypad_fire_events() argument 186 struct imx_keypad *keypad = from_timer(keypad, t, check_matrix_timer); imx_keypad_check_for_events() local 290 struct imx_keypad *keypad = dev_id; imx_keypad_irq_handler() local 313 imx_keypad_config(struct imx_keypad *keypad) imx_keypad_config() argument 349 imx_keypad_inhibit(struct imx_keypad *keypad) imx_keypad_inhibit() argument 366 struct imx_keypad *keypad = input_get_drvdata(dev); imx_keypad_close() local 383 struct imx_keypad *keypad = input_get_drvdata(dev); imx_keypad_open() local 420 struct imx_keypad *keypad; imx_keypad_probe() local [all...] |
H A D | nomadik-ske-keypad.c | 22 #include <linux/platform_data/keypad-nomadik-ske.h> 44 /* keypad auto scan registers */ 54 * struct ske_keypad - data structure used by keypad driver 58 * @board: keypad platform device 62 * @ske_keypad_lock: spinlock protecting the keypad read/writes 75 static void ske_keypad_set_bits(struct ske_keypad *keypad, u16 addr, in ske_keypad_set_bits() argument 80 spin_lock(&keypad->ske_keypad_lock); in ske_keypad_set_bits() 82 ret = readl(keypad->reg_base + addr); in ske_keypad_set_bits() 85 writel(ret, keypad->reg_base + addr); in ske_keypad_set_bits() 87 spin_unlock(&keypad in ske_keypad_set_bits() 95 ske_keypad_chip_init(struct ske_keypad *keypad) ske_keypad_chip_init() argument 141 ske_keypad_report(struct ske_keypad *keypad, u8 status, int col) ske_keypad_report() argument 167 ske_keypad_read_data(struct ske_keypad *keypad) ske_keypad_read_data() argument 201 struct ske_keypad *keypad = dev_id; ske_keypad_irq() local 226 struct ske_keypad *keypad = data; ske_keypad_board_exit() local 236 struct ske_keypad *keypad; ske_keypad_probe() local 338 struct ske_keypad *keypad = platform_get_drvdata(pdev); ske_keypad_suspend() local 352 struct ske_keypad *keypad = platform_get_drvdata(pdev); ske_keypad_resume() local [all...] |
H A D | mt6779-keypad.c | 16 #define MTK_KPD_NAME "mt6779-keypad" 50 struct mt6779_keypad *keypad = dev_id; in mt6779_keypad_irq_handler() local 51 const unsigned short *keycode = keypad->input_dev->keycode; in mt6779_keypad_irq_handler() 57 unsigned int row_shift = get_count_order(keypad->n_cols); in mt6779_keypad_irq_handler() 60 regmap_bulk_read(keypad->regmap, MTK_KPD_MEM, in mt6779_keypad_irq_handler() 63 bitmap_xor(change, new_state, keypad->keymap_state, MTK_KPD_NUM_BITS); in mt6779_keypad_irq_handler() 74 keypad->calc_row_col(key, &row, &col); in mt6779_keypad_irq_handler() 79 dev_dbg(&keypad->input_dev->dev, "%s", in mt6779_keypad_irq_handler() 82 input_event(keypad->input_dev, EV_MSC, MSC_SCAN, scancode); in mt6779_keypad_irq_handler() 83 input_report_key(keypad in mt6779_keypad_irq_handler() 118 struct mt6779_keypad *keypad; mt6779_keypad_pdrv_probe() local [all...] |
H A D | matrix_keypad.c | 86 static void enable_row_irqs(struct matrix_keypad *keypad) in enable_row_irqs() argument 88 const struct matrix_keypad_platform_data *pdata = keypad->pdata; in enable_row_irqs() 99 static void disable_row_irqs(struct matrix_keypad *keypad) in disable_row_irqs() argument 101 const struct matrix_keypad_platform_data *pdata = keypad->pdata; in disable_row_irqs() 117 struct matrix_keypad *keypad = in matrix_keypad_scan() local 119 struct input_dev *input_dev = keypad->input_dev; in matrix_keypad_scan() 121 const struct matrix_keypad_platform_data *pdata = keypad->pdata; in matrix_keypad_scan() 148 bits_changed = keypad->last_key_state[col] ^ new_state[col]; in matrix_keypad_scan() 156 code = MATRIX_SCAN_CODE(row, col, keypad->row_shift); in matrix_keypad_scan() 165 memcpy(keypad in matrix_keypad_scan() 178 struct matrix_keypad *keypad = id; matrix_keypad_interrupt() local 203 struct matrix_keypad *keypad = input_get_drvdata(dev); matrix_keypad_start() local 219 struct matrix_keypad *keypad = input_get_drvdata(dev); matrix_keypad_stop() local 233 matrix_keypad_enable_wakeup(struct matrix_keypad *keypad) matrix_keypad_enable_wakeup() argument 255 matrix_keypad_disable_wakeup(struct matrix_keypad *keypad) matrix_keypad_disable_wakeup() argument 279 struct matrix_keypad *keypad = platform_get_drvdata(pdev); matrix_keypad_suspend() local 292 struct matrix_keypad *keypad = platform_get_drvdata(pdev); matrix_keypad_resume() local 305 matrix_keypad_init_gpio(struct platform_device *pdev, struct matrix_keypad *keypad) matrix_keypad_init_gpio() argument 382 matrix_keypad_free_gpio(struct matrix_keypad *keypad) matrix_keypad_free_gpio() argument 483 struct matrix_keypad *keypad; matrix_keypad_probe() local 554 struct matrix_keypad *keypad = platform_get_drvdata(pdev); matrix_keypad_remove() local [all...] |
H A D | nspire-keypad.c | 52 struct nspire_keypad *keypad = dev_id; in nspire_keypad_irq() local 53 struct input_dev *input = keypad->input; in nspire_keypad_irq() 61 int_sts = readl(keypad->reg_base + KEYPAD_INT) & keypad->int_mask; in nspire_keypad_irq() 65 memcpy_fromio(state, keypad->reg_base + KEYPAD_DATA, sizeof(state)); in nspire_keypad_irq() 69 if (keypad->active_low) in nspire_keypad_irq() 72 changed = bits ^ keypad->state[row]; in nspire_keypad_irq() 76 keypad->state[row] = bits; in nspire_keypad_irq() 82 code = MATRIX_SCAN_CODE(row, col, keypad->row_shift); in nspire_keypad_irq() 91 writel(0x3, keypad in nspire_keypad_irq() 98 struct nspire_keypad *keypad = input_get_drvdata(input); nspire_keypad_open() local 135 struct nspire_keypad *keypad = input_get_drvdata(input); nspire_keypad_close() local 148 struct nspire_keypad *keypad; nspire_keypad_probe() local [all...] |
H A D | pxa27x_keypad.c | 29 #include <linux/platform_data/keypad-pxa27x.h> 90 #define keypad_readl(off) __raw_readl(keypad->mmio_base + (off)) 91 #define keypad_writel(off, v) __raw_writel((v), keypad->mmio_base + (off)) 118 static int pxa27x_keypad_matrix_key_parse_dt(struct pxa27x_keypad *keypad, in pxa27x_keypad_matrix_key_parse_dt() argument 121 struct input_dev *input_dev = keypad->input_dev; in pxa27x_keypad_matrix_key_parse_dt() 141 keypad->keycodes, input_dev); in pxa27x_keypad_matrix_key_parse_dt() 148 static int pxa27x_keypad_direct_key_parse_dt(struct pxa27x_keypad *keypad, in pxa27x_keypad_direct_key_parse_dt() argument 151 struct input_dev *input_dev = keypad->input_dev; in pxa27x_keypad_direct_key_parse_dt() 178 * default value. Default value is set when configure the keypad. in pxa27x_keypad_direct_key_parse_dt() 201 keypad in pxa27x_keypad_direct_key_parse_dt() 208 pxa27x_keypad_rotary_parse_dt(struct pxa27x_keypad *keypad, struct pxa27x_keypad_platform_data *pdata) pxa27x_keypad_rotary_parse_dt() argument 281 pxa27x_keypad_build_keycode_from_dt(struct pxa27x_keypad *keypad) pxa27x_keypad_build_keycode_from_dt() argument 332 pxa27x_keypad_build_keycode_from_dt(struct pxa27x_keypad *keypad) pxa27x_keypad_build_keycode_from_dt() argument 341 pxa27x_keypad_build_keycode(struct pxa27x_keypad *keypad) pxa27x_keypad_build_keycode() argument 408 pxa27x_keypad_scan_matrix(struct pxa27x_keypad *keypad) pxa27x_keypad_scan_matrix() argument 487 report_rotary_event(struct pxa27x_keypad *keypad, int r, int delta) report_rotary_event() argument 511 pxa27x_keypad_scan_rotary(struct pxa27x_keypad *keypad) pxa27x_keypad_scan_rotary() argument 527 pxa27x_keypad_scan_direct(struct pxa27x_keypad *keypad) pxa27x_keypad_scan_direct() argument 567 clear_wakeup_event(struct pxa27x_keypad *keypad) clear_wakeup_event() argument 577 struct pxa27x_keypad *keypad = dev_id; pxa27x_keypad_irq_handler() local 591 pxa27x_keypad_config(struct pxa27x_keypad *keypad) pxa27x_keypad_config() argument 643 struct pxa27x_keypad *keypad = input_get_drvdata(dev); pxa27x_keypad_open() local 657 struct pxa27x_keypad *keypad = input_get_drvdata(dev); pxa27x_keypad_close() local 666 struct pxa27x_keypad *keypad = platform_get_drvdata(pdev); pxa27x_keypad_suspend() local 683 struct pxa27x_keypad *keypad = platform_get_drvdata(pdev); pxa27x_keypad_resume() local 718 struct pxa27x_keypad *keypad; pxa27x_keypad_probe() local [all...] |
H A D | stmpe-keypad.c | 116 * struct stmpe_keypad - STMPE keypad state container 141 static int stmpe_keypad_read_data(struct stmpe_keypad *keypad, u8 *data) in stmpe_keypad_read_data() argument 143 const struct stmpe_keypad_variant *variant = keypad->variant; in stmpe_keypad_read_data() 144 struct stmpe *stmpe = keypad->stmpe; in stmpe_keypad_read_data() 165 struct stmpe_keypad *keypad = dev; in stmpe_keypad_irq() local 166 struct input_dev *input = keypad->input; in stmpe_keypad_irq() 167 const struct stmpe_keypad_variant *variant = keypad->variant; in stmpe_keypad_irq() 172 ret = stmpe_keypad_read_data(keypad, fifo); in stmpe_keypad_irq() 188 input_report_key(input, keypad->keymap[code], !up); in stmpe_keypad_irq() 195 static int stmpe_keypad_altfunc_init(struct stmpe_keypad *keypad) in stmpe_keypad_altfunc_init() argument 265 stmpe_keypad_chip_init(struct stmpe_keypad *keypad) stmpe_keypad_chip_init() argument 314 stmpe_keypad_fill_used_pins(struct stmpe_keypad *keypad, u32 used_rows, u32 used_cols) stmpe_keypad_fill_used_pins() argument 335 struct stmpe_keypad *keypad; stmpe_keypad_probe() local 409 struct stmpe_keypad *keypad = platform_get_drvdata(pdev); stmpe_keypad_remove() local [all...] |
H A D | st-keyscan.c | 43 struct st_keyscan *keypad = dev_id; in keyscan_isr() local 44 unsigned short *keycode = keypad->input_dev->keycode; in keyscan_isr() 48 state = readl(keypad->base + KEYSCAN_MATRIX_STATE_OFF) & 0xffff; in keyscan_isr() 49 change = keypad->last_state ^ state; in keyscan_isr() 50 keypad->last_state = state; in keyscan_isr() 53 input_report_key(keypad->input_dev, in keyscan_isr() 56 input_sync(keypad->input_dev); in keyscan_isr() 61 static int keyscan_start(struct st_keyscan *keypad) in keyscan_start() argument 65 error = clk_enable(keypad->clk); in keyscan_start() 69 writel(keypad in keyscan_start() 81 keyscan_stop(struct st_keyscan *keypad) keyscan_stop() argument 90 struct st_keyscan *keypad = input_get_drvdata(dev); keyscan_open() local 97 struct st_keyscan *keypad = input_get_drvdata(dev); keyscan_close() local 216 struct st_keyscan *keypad = platform_get_drvdata(pdev); keyscan_suspend() local 233 struct st_keyscan *keypad = platform_get_drvdata(pdev); keyscan_resume() local [all...] |
H A D | tc3589x-keypad.c | 21 /* Maximum supported keypad matrix row/columns size */ 25 /* keypad related Constants */ 73 * struct tc3589x_keypad_platform_data - platform specific keypad data 80 * @enable_wakeup: specifies if keypad event can wake up system from sleep 95 * struct tc_keypad - data structure used by keypad driver 98 * @board: keypad platform device 102 * @keypad_stopped: holds keypad status 114 static int tc3589x_keypad_init_key_hardware(struct tc_keypad *keypad) in tc3589x_keypad_init_key_hardware() argument 117 struct tc3589x *tc3589x = keypad->tc3589x; in tc3589x_keypad_init_key_hardware() 118 const struct tc3589x_keypad_platform_data *board = keypad in tc3589x_keypad_init_key_hardware() 191 struct tc_keypad *keypad = dev; tc3589x_keypad_irq() local 226 tc3589x_keypad_enable(struct tc_keypad *keypad) tc3589x_keypad_enable() argument 262 tc3589x_keypad_disable(struct tc_keypad *keypad) tc3589x_keypad_disable() argument 295 struct tc_keypad *keypad = input_get_drvdata(input); tc3589x_keypad_open() local 315 struct tc_keypad *keypad = input_get_drvdata(input); tc3589x_keypad_close() local 377 struct tc_keypad *keypad; tc3589x_keypad_probe() local 461 struct tc_keypad *keypad = platform_get_drvdata(pdev); tc3589x_keypad_suspend() local 480 struct tc_keypad *keypad = platform_get_drvdata(pdev); tc3589x_keypad_resume() local [all...] |
H A D | max7359_keypad.c | 87 struct max7359_keypad *keypad = dev_id; in max7359_interrupt() local 88 struct input_dev *input_dev = keypad->input_dev; in max7359_interrupt() 91 val = max7359_read_reg(keypad->client, MAX7359_REG_KEYFIFO); in max7359_interrupt() 98 dev_dbg(&keypad->client->dev, in max7359_interrupt() 102 input_report_key(input_dev, keypad->keycodes[code], !release); in max7359_interrupt() 129 struct max7359_keypad *keypad = input_get_drvdata(dev); in max7359_open() local 131 max7359_take_catnap(keypad->client); in max7359_open() 138 struct max7359_keypad *keypad = input_get_drvdata(dev); in max7359_close() local 140 max7359_fall_deepsleep(keypad->client); in max7359_close() 162 struct max7359_keypad *keypad; in max7359_probe() local [all...] |
/kernel/linux/linux-5.10/drivers/auxdisplay/ |
H A D | ht16k33.c | 73 struct ht16k33_keypad keypad; member 251 * This gets the keys from keypad and reports it to input subsystem. 254 static bool ht16k33_keypad_scan(struct ht16k33_keypad *keypad) in ht16k33_keypad_scan() argument 256 const unsigned short *keycodes = keypad->dev->keycode; in ht16k33_keypad_scan() 264 rc = i2c_smbus_read_i2c_block_data(keypad->client, 0x40, in ht16k33_keypad_scan() 267 dev_err(&keypad->client->dev, in ht16k33_keypad_scan() 272 for (col = 0; col < keypad->cols; col++) { in ht16k33_keypad_scan() 276 bits_changed = keypad->last_key_state[col] ^ new_state[col]; in ht16k33_keypad_scan() 279 code = MATRIX_SCAN_CODE(row, col, keypad->row_shift); in ht16k33_keypad_scan() 280 input_event(keypad in ht16k33_keypad_scan() 293 struct ht16k33_keypad *keypad = dev; ht16k33_keypad_irq_thread() local 307 struct ht16k33_keypad *keypad = input_get_drvdata(dev); ht16k33_keypad_start() local 318 struct ht16k33_keypad *keypad = input_get_drvdata(dev); ht16k33_keypad_stop() local 326 ht16k33_keypad_probe(struct i2c_client *client, struct ht16k33_keypad *keypad) ht16k33_keypad_probe() argument [all...] |
/kernel/linux/linux-6.6/drivers/auxdisplay/ |
H A D | ht16k33.c | 102 struct ht16k33_keypad keypad; member 369 * This gets the keys from keypad and reports it to input subsystem. 372 static bool ht16k33_keypad_scan(struct ht16k33_keypad *keypad) in ht16k33_keypad_scan() argument 374 const unsigned short *keycodes = keypad->dev->keycode; in ht16k33_keypad_scan() 382 rc = i2c_smbus_read_i2c_block_data(keypad->client, 0x40, in ht16k33_keypad_scan() 385 dev_err(&keypad->client->dev, in ht16k33_keypad_scan() 390 for (col = 0; col < keypad->cols; col++) { in ht16k33_keypad_scan() 394 bits_changed = keypad->last_key_state[col] ^ new_state[col]; in ht16k33_keypad_scan() 397 code = MATRIX_SCAN_CODE(row, col, keypad->row_shift); in ht16k33_keypad_scan() 398 input_event(keypad in ht16k33_keypad_scan() 411 struct ht16k33_keypad *keypad = dev; ht16k33_keypad_irq_thread() local 425 struct ht16k33_keypad *keypad = input_get_drvdata(dev); ht16k33_keypad_start() local 436 struct ht16k33_keypad *keypad = input_get_drvdata(dev); ht16k33_keypad_stop() local 516 ht16k33_keypad_probe(struct i2c_client *client, struct ht16k33_keypad *keypad) ht16k33_keypad_probe() argument [all...] |