Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1#ifndef _GPIO_KEYS_H
2#define _GPIO_KEYS_H
3
4struct device;
5
6struct gpio_keys_button {
7 /* Configuration parameters */
8 unsigned int code; /* input event code (KEY_*, SW_*) */
9 int gpio;
10 int active_low;
11 const char *desc;
12 unsigned int type; /* input event type (EV_KEY, EV_SW, EV_ABS) */
13 int wakeup; /* configure the button as a wake-up source */
14 int debounce_interval; /* debounce ticks interval in msecs */
15 bool can_disable;
16 int value; /* axis value for EV_ABS */
17};
18
19struct gpio_keys_platform_data {
20 struct gpio_keys_button *buttons;
21 int nbuttons;
22 unsigned int poll_interval; /* polling interval in msecs -
23 for polling driver only */
24 unsigned int rep:1; /* enable input subsystem auto repeat */
25 int (*enable)(struct device *dev);
26 void (*disable)(struct device *dev);
27 const char *name; /* input device name */
28};
29
30#endif