| 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; | 
| Gabor Juhos | 0e7d0c8 | 2010-12-06 17:14:47 -0800 | [diff] [blame] | 19 | 	unsigned int poll_interval;	/* polling interval in msecs - | 
 | 20 | 					   for polling driver only */ | 
| Dominic Curran | b67b4b1 | 2008-10-27 22:30:53 -0400 | [diff] [blame] | 21 | 	unsigned int rep:1;		/* enable input subsystem auto repeat */ | 
| Shubhrajyoti D | 173bdd7 | 2010-08-03 19:44:40 -0700 | [diff] [blame] | 22 | 	int (*enable)(struct device *dev); | 
 | 23 | 	void (*disable)(struct device *dev); | 
| Phil Blundell | 78a56aa | 2007-01-18 00:44:09 -0500 | [diff] [blame] | 24 | }; | 
 | 25 |  | 
 | 26 | #endif |