Home
last modified time | relevance | path

Searched refs:keypad (Results 1 – 25 of 145) sorted by relevance

123456

/linux-6.15/drivers/input/keyboard/
H A Dmatrix_keypad.c166 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 Dep93xx_keypad.c95 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 Dimx_keypad.c174 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 Dsamsung-keypad.c140 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 Dpxa27x_keypad.c326 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 Dnspire-keypad.c61 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 Dmt6779-keypad.c84 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 Dstmpe-keypad.c221 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 Dst-keyscan.c50 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 Dtc3589x-keypad.c191 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 Dmax7359_keypad.c87 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 DMakefile16 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 Dsamsung,s3c6410-keypad.yaml11 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 Domap-keypad.txt4 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 Dtwl4030-keypad.txt4 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 Dadi,adp5588.yaml44 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 Dmediatek,mt6779-keypad.yaml4 $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 Dbrcm,bcm-keypad.txt4 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 Dcirrus,ep9307-keypad.yaml4 $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 Dqcom,pm8921-keypad.yaml4 $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 Dgpio-matrix-keypad.yaml5 $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 Dexynos4412-smdk4412.dts69 &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 Dexynos4210-smdkv310.dts88 &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 Ds5pv210-smdkv210.dts73 &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 Dht16k33.c359 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 …]

123456