Merge remote-tracking branches 'regmap/topic/patch' and 'regmap/topic/sync' into...
[firefly-linux-kernel-4.4.55.git] / include / linux / gpio_keys.h
1 #ifndef _GPIO_KEYS_H
2 #define _GPIO_KEYS_H
3
4 struct device;
5
6 struct 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
19 struct 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