at v3.0 830 B view raw
1#ifndef _GPIO_KEYS_H 2#define _GPIO_KEYS_H 3 4struct gpio_keys_button { 5 /* Configuration parameters */ 6 unsigned int code; /* input event code (KEY_*, SW_*) */ 7 int 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}; 16 17struct gpio_keys_platform_data { 18 struct gpio_keys_button *buttons; 19 int nbuttons; 20 unsigned int poll_interval; /* polling interval in msecs - 21 for polling driver only */ 22 unsigned int rep:1; /* enable input subsystem auto repeat */ 23 int (*enable)(struct device *dev); 24 void (*disable)(struct device *dev); 25 const char *name; /* input device name */ 26}; 27 28#endif