]> nv-tegra.nvidia Code Review - linux-2.6.git/blob - include/linux/gpio_keys.h
regulator: tps80031: support for min voltage tolerance
[linux-2.6.git] / include / linux / gpio_keys.h
1 #ifndef _GPIO_KEYS_H
2 #define _GPIO_KEYS_H
3
4 struct gpio_keys_button {
5         /* Configuration parameters */
6         unsigned int code;      /* input event code (KEY_*, SW_*) */
7         int gpio;               /* -1 if this key does not support gpio */
8         int active_low;
9         const char *desc;
10         unsigned int type;      /* input event type (EV_KEY, EV_SW, EV_ABS) */
11         int wakeup;             /* configure the button as a wake-up source */
12         int debounce_interval;  /* debounce ticks interval in msecs */
13         bool can_disable;
14         int value;              /* axis value for EV_ABS */
15         unsigned int irq;       /* Irq number in case of interrupt keys */
16 };
17
18 struct gpio_keys_platform_data {
19         struct gpio_keys_button *buttons;
20         int nbuttons;
21         unsigned int poll_interval;     /* polling interval in msecs -
22                                            for polling driver only */
23         unsigned int rep:1;             /* enable input subsystem auto repeat */
24         int (*enable)(struct device *dev);
25         void (*disable)(struct device *dev);
26         const char *name;               /* input device name */
27         int (*wakeup_key)(void);
28 };
29
30 #endif