1 #ifndef _GPIO_KEYS_H 2 #define _GPIO_KEYS_H 3 4 struct gpio_keys_button { 5 /* Configuration parameters */ 6 int code; /* input event code (KEY_*, SW_*) */ 7 int gpio; 8 int active_low; 9 char *desc; 10 int type; /* input event type (EV_KEY, EV_SW) */ 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 }; 15 16 struct gpio_keys_platform_data { 17 struct gpio_keys_button *buttons; 18 int nbuttons; 19 unsigned int rep:1; /* enable input subsystem auto repeat */ 20 int (*enable)(struct device *dev); 21 void (*disable)(struct device *dev); 22 }; 23 24 #endif 25