Commit | Line | Data |
---|---|---|
78a56aab PB |
1 | #ifndef _GPIO_KEYS_H |
2 | #define _GPIO_KEYS_H | |
3 | ||
4 | struct gpio_keys_button { | |
5 | /* Configuration parameters */ | |
92a47674 | 6 | unsigned int code; /* input event code (KEY_*, SW_*) */ |
78a56aab PB |
7 | int gpio; |
8 | int active_low; | |
92a47674 AS |
9 | const char *desc; |
10 | unsigned int type; /* input event type (EV_KEY, EV_SW, EV_ABS) */ | |
e15b0213 | 11 | int wakeup; /* configure the button as a wake-up source */ |
a33466e3 | 12 | int debounce_interval; /* debounce ticks interval in msecs */ |
9e3af04f | 13 | bool can_disable; |
92a47674 | 14 | int value; /* axis value for EV_ABS */ |
78a56aab PB |
15 | }; |
16 | ||
17 | struct gpio_keys_platform_data { | |
18 | struct gpio_keys_button *buttons; | |
19 | int nbuttons; | |
0e7d0c86 GJ |
20 | unsigned int poll_interval; /* polling interval in msecs - |
21 | for polling driver only */ | |
b67b4b11 | 22 | unsigned int rep:1; /* enable input subsystem auto repeat */ |
173bdd74 S |
23 | int (*enable)(struct device *dev); |
24 | void (*disable)(struct device *dev); | |
46711277 | 25 | const char *name; /* input device name */ |
78a56aab PB |
26 | }; |
27 | ||
28 | #endif |