Phil Blundell | 78a56aa | 2007-01-18 00:44:09 -0500 | [diff] [blame] | 1 | #ifndef _GPIO_KEYS_H |
| 2 | #define _GPIO_KEYS_H |
| 3 | |
| 4 | struct gpio_keys_button { |
| 5 | /* Configuration parameters */ |
Roman Moravcik | 84767d0 | 2007-05-01 00:39:13 -0400 | [diff] [blame] | 6 | int code; /* input event code (KEY_*, SW_*) */ |
Phil Blundell | 78a56aa | 2007-01-18 00:44:09 -0500 | [diff] [blame] | 7 | int gpio; |
| 8 | int active_low; |
| 9 | char *desc; |
Roman Moravcik | 84767d0 | 2007-05-01 00:39:13 -0400 | [diff] [blame] | 10 | int type; /* input event type (EV_KEY, EV_SW) */ |
Anti Sullin | e15b021 | 2007-09-26 00:01:17 -0400 | [diff] [blame] | 11 | int wakeup; /* configure the button as a wake-up source */ |
Dmitry Baryshkov | a33466e | 2008-05-07 16:30:15 -0400 | [diff] [blame] | 12 | int debounce_interval; /* debounce ticks interval in msecs */ |
Mika Westerberg | 9e3af04 | 2010-02-04 00:48:00 -0800 | [diff] [blame] | 13 | bool can_disable; |
Phil Blundell | 78a56aa | 2007-01-18 00:44:09 -0500 | [diff] [blame] | 14 | }; |
| 15 | |
| 16 | struct gpio_keys_platform_data { |
| 17 | struct gpio_keys_button *buttons; |
| 18 | int nbuttons; |
Dominic Curran | b67b4b1 | 2008-10-27 22:30:53 -0400 | [diff] [blame] | 19 | unsigned int rep:1; /* enable input subsystem auto repeat */ |
Shubhrajyoti D | 173bdd7 | 2010-08-03 19:44:40 -0700 | [diff] [blame] | 20 | int (*enable)(struct device *dev); |
| 21 | void (*disable)(struct device *dev); |
Phil Blundell | 78a56aa | 2007-01-18 00:44:09 -0500 | [diff] [blame] | 22 | }; |
| 23 | |
| 24 | #endif |