| Phil Blundell | 78a56aa | 2007-01-18 00:44:09 -0500 | [diff] [blame] | 1 | #ifndef _GPIO_KEYS_H | 
 | 2 | #define _GPIO_KEYS_H | 
 | 3 |  | 
| Heiko Stübner | b18db3d | 2012-02-01 09:12:24 -0800 | [diff] [blame] | 4 | struct device; | 
 | 5 |  | 
| Phil Blundell | 78a56aa | 2007-01-18 00:44:09 -0500 | [diff] [blame] | 6 | struct gpio_keys_button { | 
 | 7 | 	/* Configuration parameters */ | 
| Alexander Stein | 92a4767 | 2011-04-11 23:34:37 -0700 | [diff] [blame] | 8 | 	unsigned int code;	/* input event code (KEY_*, SW_*) */ | 
| Laxman Dewangan | d8ee4a1 | 2012-03-19 17:54:31 -0700 | [diff] [blame] | 9 | 	int gpio;		/* -1 if this key does not support gpio */ | 
| Phil Blundell | 78a56aa | 2007-01-18 00:44:09 -0500 | [diff] [blame] | 10 | 	int active_low; | 
| Alexander Stein | 92a4767 | 2011-04-11 23:34:37 -0700 | [diff] [blame] | 11 | 	const char *desc; | 
 | 12 | 	unsigned int type;	/* input event type (EV_KEY, EV_SW, EV_ABS) */ | 
| Anti Sullin | e15b021 | 2007-09-26 00:01:17 -0400 | [diff] [blame] | 13 | 	int wakeup;		/* configure the button as a wake-up source */ | 
| Dmitry Baryshkov | a33466e | 2008-05-07 16:30:15 -0400 | [diff] [blame] | 14 | 	int debounce_interval;	/* debounce ticks interval in msecs */ | 
| Mika Westerberg | 9e3af04 | 2010-02-04 00:48:00 -0800 | [diff] [blame] | 15 | 	bool can_disable; | 
| Alexander Stein | 92a4767 | 2011-04-11 23:34:37 -0700 | [diff] [blame] | 16 | 	int value;		/* axis value for EV_ABS */ | 
| Laxman Dewangan | d8ee4a1 | 2012-03-19 17:54:31 -0700 | [diff] [blame] | 17 | 	unsigned int irq;	/* Irq number in case of interrupt keys */ | 
| Phil Blundell | 78a56aa | 2007-01-18 00:44:09 -0500 | [diff] [blame] | 18 | }; | 
 | 19 |  | 
 | 20 | struct gpio_keys_platform_data { | 
 | 21 | 	struct gpio_keys_button *buttons; | 
 | 22 | 	int nbuttons; | 
| Gabor Juhos | 0e7d0c8 | 2010-12-06 17:14:47 -0800 | [diff] [blame] | 23 | 	unsigned int poll_interval;	/* polling interval in msecs - | 
 | 24 | 					   for polling driver only */ | 
| Dominic Curran | b67b4b1 | 2008-10-27 22:30:53 -0400 | [diff] [blame] | 25 | 	unsigned int rep:1;		/* enable input subsystem auto repeat */ | 
| Shubhrajyoti D | 173bdd7 | 2010-08-03 19:44:40 -0700 | [diff] [blame] | 26 | 	int (*enable)(struct device *dev); | 
 | 27 | 	void (*disable)(struct device *dev); | 
| Alexander Stein | 4671127 | 2011-04-11 23:34:48 -0700 | [diff] [blame] | 28 | 	const char *name;		/* input device name */ | 
| Phil Blundell | 78a56aa | 2007-01-18 00:44:09 -0500 | [diff] [blame] | 29 | }; | 
 | 30 |  | 
 | 31 | #endif |