1STRUCT MATRIX_KEYPAD(9) Input Subsystem STRUCT MATRIX_KEYPAD(9)
2
3
4
6 struct_matrix_keypad_platform_data - platform-dependent keypad data
7
9 struct matrix_keypad_platform_data {
10 const struct matrix_keymap_data * keymap_data;
11 const unsigned int * row_gpios;
12 const unsigned int * col_gpios;
13 unsigned int num_row_gpios;
14 unsigned int num_col_gpios;
15 unsigned int col_scan_delay_us;
16 unsigned int debounce_ms;
17 unsigned int clustered_irq;
18 unsigned int clustered_irq_flags;
19 bool active_low;
20 bool wakeup;
21 bool no_autorepeat;
22 };
23
25 keymap_data
26 pointer to matrix_keymap_data
27
28 row_gpios
29 pointer to array of gpio numbers representing rows
30
31 col_gpios
32 pointer to array of gpio numbers reporesenting colums
33
34 num_row_gpios
35 actual number of row gpios used by device
36
37 num_col_gpios
38 actual number of col gpios used by device
39
40 col_scan_delay_us
41 delay, measured in microseconds, that is needed before we can
42 keypad after activating column gpio
43
44 debounce_ms
45 debounce interval in milliseconds
46
47 clustered_irq
48 may be specified if interrupts of all row/column GPIOs are bundled
49 to one single irq
50
51 clustered_irq_flags
52 flags that are needed for the clustered irq
53
54 active_low
55 gpio polarity
56
57 wakeup
58 controls whether the device should be set up as wakeup source
59
60 no_autorepeat
61 disable key autorepeat
62
64 This structure represents platform-specific data that use used by
65 matrix_keypad driver to perform proper initialization.
66
68Kernel Hackers Manual 3.10 June 2019 STRUCT MATRIX_KEYPAD(9)