| /linux-6.15/drivers/input/keyboard/ |
| H A D | matrix_keypad.c | 166 enable_row_irqs(keypad); in matrix_keypad_scan() 181 if (unlikely(keypad->scan_pending || keypad->stopped)) in matrix_keypad_interrupt() 184 disable_row_irqs(keypad); in matrix_keypad_interrupt() 197 keypad->stopped = false; in matrix_keypad_start() 214 keypad->stopped = true; in matrix_keypad_stop() 222 disable_row_irqs(keypad); in matrix_keypad_stop() 368 disable_row_irqs(keypad); in matrix_keypad_setup_interrupts() 380 keypad = devm_kzalloc(&pdev->dev, sizeof(*keypad), GFP_KERNEL); in matrix_keypad_probe() 381 if (!keypad) in matrix_keypad_probe() 389 keypad->stopped = true; in matrix_keypad_probe() [all …]
|
| H A D | ep93xx_keypad.c | 95 if (keypad->key1 && key1 != keypad->key1 && key2 != keypad->key1) in ep93xx_keypad_irq_handler() 98 if (keypad->key2 && key1 != keypad->key2 && key2 != keypad->key2) in ep93xx_keypad_irq_handler() 104 keypad->key1 = key1; in ep93xx_keypad_irq_handler() 105 keypad->key2 = key2; in ep93xx_keypad_irq_handler() 108 if (keypad->key1 && key1 != keypad->key1) in ep93xx_keypad_irq_handler() 111 if (keypad->key2 && key1 != keypad->key2) in ep93xx_keypad_irq_handler() 116 keypad->key1 = key1; in ep93xx_keypad_irq_handler() 117 keypad->key2 = 0; in ep93xx_keypad_irq_handler() 123 keypad->key1 = keypad->key2 = 0; in ep93xx_keypad_irq_handler() 210 keypad = devm_kzalloc(&pdev->dev, sizeof(*keypad), GFP_KERNEL); in ep93xx_keypad_probe() [all …]
|
| H A D | imx_keypad.c | 174 keypad->keycodes[code], in imx_keypad_fire_events() 186 struct imx_keypad *keypad = from_timer(keypad, t, check_matrix_timer); in imx_keypad_check_for_events() local 217 keypad->stable_count = 0; in imx_keypad_check_for_events() 219 keypad->stable_count++; in imx_keypad_check_for_events() 301 if (keypad->enabled) { in imx_keypad_irq_handler() 371 keypad->enabled = false; in imx_keypad_close() 394 keypad->enabled = true; in imx_keypad_open() 399 if ((readw(keypad->mmio_base + KPDR) & keypad->rows_en_mask) == 0) { in imx_keypad_open() 434 keypad = devm_kzalloc(&pdev->dev, sizeof(*keypad), GFP_KERNEL); in imx_keypad_probe() 435 if (!keypad) { in imx_keypad_probe() [all …]
|
| H A D | samsung-keypad.c | 140 memcpy(keypad->row_state, row_state, sizeof(keypad->row_state)); in samsung_keypad_report() 162 wait_event_timeout(keypad->wait, keypad->stopped, in samsung_keypad_irq() 201 keypad->stopped = true; in samsung_keypad_stop() 202 wake_up(&keypad->wait); in samsung_keypad_stop() 350 keypad = devm_kzalloc(&pdev->dev, sizeof(*keypad) + keymap_size, in samsung_keypad_probe() 361 if (!keypad->base) in samsung_keypad_probe() 377 keypad->pdev = pdev; in samsung_keypad_probe() 412 if (keypad->irq < 0) { in samsung_keypad_probe() 413 error = keypad->irq; in samsung_keypad_probe() 465 if (keypad->stopped) in samsung_keypad_runtime_suspend() [all …]
|
| H A D | pxa27x_keypad.c | 326 keypad->pdata = pdata; in pxa27x_keypad_build_keycode_from_dt() 580 clear_wakeup_event(keypad); in pxa27x_keypad_irq_handler() 650 pxa27x_keypad_config(keypad); in pxa27x_keypad_open() 718 struct pxa27x_keypad *keypad; in pxa27x_keypad_probe() local 730 keypad = devm_kzalloc(&pdev->dev, sizeof(*keypad), in pxa27x_keypad_probe() 732 if (!keypad) in pxa27x_keypad_probe() 739 keypad->pdata = pdata; in pxa27x_keypad_probe() 741 keypad->irq = irq; in pxa27x_keypad_probe() 748 if (IS_ERR(keypad->clk)) { in pxa27x_keypad_probe() 777 pdata = keypad->pdata; in pxa27x_keypad_probe() [all …]
|
| H A D | nspire-keypad.c | 61 int_sts = readl(keypad->reg_base + KEYPAD_INT) & keypad->int_mask; in nspire_keypad_irq() 69 if (keypad->active_low) in nspire_keypad_irq() 76 keypad->state[row] = bits; in nspire_keypad_irq() 127 keypad->int_mask = 1 << 1; in nspire_keypad_open() 128 writel(keypad->int_mask, keypad->reg_base + KEYPAD_INTMSK); in nspire_keypad_open() 148 struct nspire_keypad *keypad; in nspire_keypad_probe() local 160 if (!keypad) { in nspire_keypad_probe() 175 &keypad->row_delay); in nspire_keypad_probe() 184 if (IS_ERR(keypad->clk)) { in nspire_keypad_probe() 186 return PTR_ERR(keypad->clk); in nspire_keypad_probe() [all …]
|
| H A D | mt6779-keypad.c | 84 input_sync(keypad->input_dev); in mt6779_keypad_irq_handler() 113 struct mt6779_keypad *keypad; in mt6779_keypad_pdrv_probe() local 121 keypad = devm_kzalloc(&pdev->dev, sizeof(*keypad), GFP_KERNEL); in mt6779_keypad_pdrv_probe() 122 if (!keypad) in mt6779_keypad_pdrv_probe() 131 if (IS_ERR(keypad->regmap)) { in mt6779_keypad_pdrv_probe() 140 if (!keypad->input_dev) { in mt6779_keypad_pdrv_probe() 149 &keypad->n_cols); in mt6779_keypad_pdrv_probe() 186 keypad->n_rows, keypad->n_cols, debounce); in mt6779_keypad_pdrv_probe() 189 keypad->n_rows, keypad->n_cols, in mt6779_keypad_pdrv_probe() 212 if (IS_ERR(keypad->clk)) in mt6779_keypad_pdrv_probe() [all …]
|
| H A D | stmpe-keypad.c | 221 if (keypad->cols & (1 << i)) { in stmpe_keypad_altfunc_init() 232 if (keypad->rows & (1 << i)) in stmpe_keypad_altfunc_init() 296 keypad->rows >> 8); in stmpe_keypad_chip_init() 324 keypad->rows |= 1 << row; in stmpe_keypad_fill_used_pins() 325 keypad->cols |= 1 << col; in stmpe_keypad_fill_used_pins() 335 struct stmpe_keypad *keypad; in stmpe_keypad_probe() local 348 if (!keypad) in stmpe_keypad_probe() 351 keypad->stmpe = stmpe; in stmpe_keypad_probe() 371 keypad->keymap, input); in stmpe_keypad_probe() 376 if (!keypad->no_autorepeat) in stmpe_keypad_probe() [all …]
|
| H A D | st-keyscan.c | 50 keypad->last_state = state; in keyscan_isr() 56 input_sync(keypad->input_dev); in keyscan_isr() 65 error = clk_enable(keypad->clk); in keyscan_start() 69 writel(keypad->debounce_us * (clk_get_rate(keypad->clk) / 1000000), in keyscan_start() 85 clk_disable(keypad->clk); in keyscan_stop() 92 return keyscan_start(keypad); in keyscan_open() 99 keyscan_stop(keypad); in keyscan_close() 222 enable_irq_wake(keypad->irq); in keyscan_suspend() 224 keyscan_stop(keypad); in keyscan_suspend() 239 disable_irq_wake(keypad->irq); in keyscan_resume() [all …]
|
| H A D | tc3589x-keypad.c | 191 struct tc_keypad *keypad = dev; in tc3589x_keypad_irq() local 212 input_report_key(keypad->input, keypad->keymap[code], !up); in tc3589x_keypad_irq() 213 input_sync(keypad->input); in tc3589x_keypad_irq() 287 keypad->keypad_stopped = true; in tc3589x_keypad_disable() 376 struct tc_keypad *keypad; in tc3589x_keypad_probe() local 393 if (!keypad) in tc3589x_keypad_probe() 402 keypad->board = plat; in tc3589x_keypad_probe() 403 keypad->input = input; in tc3589x_keypad_probe() 404 keypad->tc3589x = tc3589x; in tc3589x_keypad_probe() 464 if (keypad->keypad_stopped) in tc3589x_keypad_suspend() [all …]
|
| H A D | max7359_keypad.c | 87 struct max7359_keypad *keypad = dev_id; in max7359_interrupt() local 98 dev_dbg(&keypad->client->dev, in max7359_interrupt() 131 max7359_take_catnap(keypad->client); in max7359_open() 162 struct max7359_keypad *keypad; in max7359_probe() local 183 if (!keypad) { in max7359_probe() 194 keypad->client = client; in max7359_probe() 195 keypad->input_dev = input_dev; in max7359_probe() 206 input_dev->keycode = keypad->keycodes; in max7359_probe() 209 input_set_drvdata(input_dev, keypad); in max7359_probe() 214 keypad->keycodes, in max7359_probe() [all …]
|
| H A D | Makefile | 16 obj-$(CONFIG_KEYBOARD_BCM) += bcm-keypad.o 18 obj-$(CONFIG_KEYBOARD_CLPS711X) += clps711x-keypad.o 26 obj-$(CONFIG_KEYBOARD_TCA6416) += tca6416-keypad.o 46 obj-$(CONFIG_KEYBOARD_MT6779) += mt6779-keypad.o 49 obj-$(CONFIG_KEYBOARD_NSPIRE) += nspire-keypad.o 50 obj-$(CONFIG_KEYBOARD_OMAP) += omap-keypad.o 51 obj-$(CONFIG_KEYBOARD_OMAP4) += omap4-keypad.o 54 obj-$(CONFIG_KEYBOARD_PMIC8XXX) += pmic8xxx-keypad.o 59 obj-$(CONFIG_KEYBOARD_SAMSUNG) += samsung-keypad.o 63 obj-$(CONFIG_KEYBOARD_STMPE) += stmpe-keypad.o [all …]
|
| /linux-6.15/Documentation/devicetree/bindings/input/ |
| H A D | samsung,s3c6410-keypad.yaml | 11 keypad device. The keypad controller supports multiple row and column lines. 22 - samsung,s3c6410-keypad 23 - samsung,s5pv210-keypad 33 - const: keypad 54 samsung,keypad-num-rows: 69 keypad,column: 73 keypad,row: 80 - keypad,column 81 - keypad,row 89 - samsung,keypad-num-rows [all …]
|
| H A D | omap-keypad.txt | 4 keypad device. The keypad controller supports multiple row and column lines. 6 The keypad controller can sense a key-press and key-release and report the 12 keypad,num-rows and keypad,num-columns are required. 16 - "ti,omap4-keypad": For controllers compatible with omap4 keypad 20 - linux,keypad-no-autorepeat: do no enable autorepeat feature. 23 keypad@4ae1c000{ 24 compatible = "ti,omap4-keypad"; 25 keypad,num-rows = <2>; 26 keypad,num-columns = <8>; 27 linux,keypad-no-autorepeat;
|
| H A D | twl4030-keypad.txt | 4 keypad device. The keypad controller supports multiple row and column lines. 6 The keypad controller can sense a key-press and key-release and report the 12 * keypad,num-rows and keypad,num-columns are required. 16 - "ti,twl4030-keypad": For controllers compatible with twl4030 keypad 19 - <1>: For controllers compatible with twl4030 keypad controller. 22 twl_keypad: keypad { 23 compatible = "ti,twl4030-keypad"; 25 keypad,num-rows = <8>; 26 keypad,num-columns = <8>;
|
| H A D | adi,adp5588.yaml | 44 keypad,num-columns lower than 10. 53 keypad,num-rows or keypad,num-columns are not specified as the 66 or equal than keypad,num-rows * keypad,num-columns. 72 keypad,num-rows: 74 - keypad,num-columns 75 keypad,num-columns: 77 - keypad,num-rows 79 - keypad,num-rows 80 - keypad,num-columns 109 keypad,num-rows = <1>; [all …]
|
| H A D | mediatek,mt6779-keypad.yaml | 4 $id: http://devicetree.org/schemas/input/mediatek,mt6779-keypad.yaml# 17 keypad device. The keypad controller supports multiple row and column lines. 19 The keypad controller can sense a key-press and key-release and report the 25 - const: mediatek,mt6779-keypad 28 - mediatek,mt6873-keypad 29 - mediatek,mt8183-keypad 30 - mediatek,mt8365-keypad 31 - mediatek,mt8516-keypad 32 - const: mediatek,mt6779-keypad 48 description: use any event on keypad as wakeup event [all …]
|
| H A D | brcm,bcm-keypad.txt | 4 keypad device. The keypad controller supports multiple row and column lines. 12 keypad,num-rows and keypad,num-columns are required. 15 - compatible: should be "brcm,bcm-keypad" 23 - keypad,num-rows: Number of row lines connected to the keypad 26 - keypad,num-columns: Number of column lines connected to the 27 keypad controller. 56 If specified implies the keypad scan pull-up has been enabled. 68 keypad: keypad@180ac000 { 70 compatible = "brcm,bcm-keypad"; 73 keypad,num-rows = <5>; [all …]
|
| H A D | cirrus,ep9307-keypad.yaml | 4 $id: http://devicetree.org/schemas/input/cirrus,ep9307-keypad.yaml# 7 title: Cirrus ep93xx keypad 16 The KPP is designed to interface with a keypad matrix with 2-point contact 18 of scanning a keypad matrix. The KPP is capable of detecting, debouncing, 19 and decoding one or multiple keys pressed simultaneously on a keypad. 24 - const: cirrus,ep9307-keypad 27 - cirrus,ep9312-keypad 28 - cirrus,ep9315-keypad 29 - const: cirrus,ep9307-keypad 63 keypad@800f0000 { [all …]
|
| H A D | qcom,pm8921-keypad.yaml | 4 $id: http://devicetree.org/schemas/input/qcom,pm8921-keypad.yaml# 19 - qcom,pm8058-keypad 20 - qcom,pm8921-keypad 32 description: use any event on keypad as wakeup event 34 linux,keypad-wakeup: 71 keypad@148 { 72 compatible = "qcom,pm8921-keypad"; 82 keypad,num-rows = <1>; 83 keypad,num-columns = <5>;
|
| H A D | gpio-matrix-keypad.yaml | 5 $id: http://devicetree.org/schemas/input/gpio-matrix-keypad.yaml# 8 title: GPIO matrix keypad 14 GPIO driven matrix keypad is used to interface a SoC with a matrix keypad. 15 The matrix keypad supports multiple row and column lines, a key can be 17 keypad can sense a key-press and key-release by means of GPIO lines and 25 const: gpio-matrix-keypad 56 before we can scan keypad after activating column gpio. 83 matrix-keypad { 84 compatible = "gpio-matrix-keypad";
|
| /linux-6.15/arch/arm/boot/dts/samsung/ |
| H A D | exynos4412-smdk4412.dts | 69 &keypad { 79 keypad,row = <1>; 85 keypad,row = <1>; 91 keypad,row = <1>; 97 keypad,row = <1>; 103 keypad,row = <1>; 109 keypad,row = <2>; 115 keypad,row = <2>; 121 keypad,row = <0>; 127 keypad,row = <2>; [all …]
|
| H A D | exynos4210-smdkv310.dts | 88 &keypad { 98 keypad,row = <0>; 104 keypad,row = <0>; 110 keypad,row = <0>; 116 keypad,row = <0>; 122 keypad,row = <0>; 128 keypad,row = <1>; 134 keypad,row = <1>; 140 keypad,row = <1>; 146 keypad,row = <1>; [all …]
|
| H A D | s5pv210-smdkv210.dts | 73 &keypad { 88 keypad,row = <0>; 94 keypad,row = <0>; 100 keypad,row = <0>; 106 keypad,row = <0>; 112 keypad,row = <0 119 keypad,row = <1>; 124 keypad,row = <1>; 130 keypad,row = <1>; 136 keypad,row = <1>; [all …]
|
| /linux-6.15/drivers/auxdisplay/ |
| H A D | ht16k33.c | 359 input_sync(keypad->dev); in ht16k33_keypad_scan() 360 memcpy(keypad->last_key_state, new_state, sizeof(u16) * keypad->cols); in ht16k33_keypad_scan() 370 wait_event_timeout(keypad->wait, keypad->stopped, in ht16k33_keypad_irq_thread() 372 if (keypad->stopped) in ht16k33_keypad_irq_thread() 394 keypad->stopped = true; in ht16k33_keypad_stop() 396 wake_up(&keypad->wait); in ht16k33_keypad_stop() 505 if (!keypad->dev) in ht16k33_keypad_probe() 508 input_set_drvdata(keypad->dev, keypad); in ht16k33_keypad_probe() 535 keypad->rows = rows; in ht16k33_keypad_probe() 536 keypad->cols = cols; in ht16k33_keypad_probe() [all …]
|