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 */
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 */
14 int value; /* axis value for EV_ABS */
15 unsigned int irq; /* Irq number in case of interrupt keys */
18 struct gpio_keys_platform_data {
19 struct gpio_keys_button *buttons;
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);