2007-01-18 00:44:09 -05:00
|
|
|
#ifndef _GPIO_KEYS_H
|
|
|
|
#define _GPIO_KEYS_H
|
|
|
|
|
2012-02-01 12:12:24 -05:00
|
|
|
struct device;
|
|
|
|
|
2007-01-18 00:44:09 -05:00
|
|
|
struct gpio_keys_button {
|
|
|
|
/* Configuration parameters */
|
2011-04-12 02:34:37 -04:00
|
|
|
unsigned int code; /* input event code (KEY_*, SW_*) */
|
2007-01-18 00:44:09 -05:00
|
|
|
int gpio;
|
|
|
|
int active_low;
|
2011-04-12 02:34:37 -04:00
|
|
|
const char *desc;
|
|
|
|
unsigned int type; /* input event type (EV_KEY, EV_SW, EV_ABS) */
|
2007-09-26 00:01:17 -04:00
|
|
|
int wakeup; /* configure the button as a wake-up source */
|
2008-05-07 16:30:15 -04:00
|
|
|
int debounce_interval; /* debounce ticks interval in msecs */
|
2010-02-04 03:48:00 -05:00
|
|
|
bool can_disable;
|
2011-04-12 02:34:37 -04:00
|
|
|
int value; /* axis value for EV_ABS */
|
2007-01-18 00:44:09 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
struct gpio_keys_platform_data {
|
|
|
|
struct gpio_keys_button *buttons;
|
|
|
|
int nbuttons;
|
2010-12-06 20:14:47 -05:00
|
|
|
unsigned int poll_interval; /* polling interval in msecs -
|
|
|
|
for polling driver only */
|
2008-10-27 22:30:53 -04:00
|
|
|
unsigned int rep:1; /* enable input subsystem auto repeat */
|
2010-08-03 22:44:40 -04:00
|
|
|
int (*enable)(struct device *dev);
|
|
|
|
void (*disable)(struct device *dev);
|
2011-04-12 02:34:48 -04:00
|
|
|
const char *name; /* input device name */
|
2007-01-18 00:44:09 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|