@ -3,29 +3,53 @@
struct device ;
/**
* struct gpio_keys_button - configuration parameters
* @ code : input event code ( KEY_ * , SW_ * )
* @ gpio : % - 1 if this key does not support gpio
* @ active_low : % true indicates that button is considered
* depressed when gpio is low
* @ desc : label that will be attached to button ' s gpio
* @ type : input event type ( % EV_KEY , % EV_SW , % EV_ABS )
* @ wakeup : configure the button as a wake - up source
* @ debounce_interval : debounce ticks interval in msecs
* @ can_disable : % true indicates that userspace is allowed to
* disable button via sysfs
* @ value : axis value for % EV_ABS
* @ irq : Irq number in case of interrupt keys
*/
struct gpio_keys_button {
/* Configuration parameters */
unsigned int code ; /* input event code (KEY_*, SW_*) */
int gpio ; /* -1 if this key does not support gpio */
unsigned int code ;
int gpio ;
int active_low ;
const char * desc ;
unsigned int type ; /* input event type (EV_KEY, EV_SW, EV_ABS) */
int wakeup ; /* configure the button as a wake-up source */
int debounce_interval ; /* debounce ticks interval in msecs */
unsigned int type ;
int wakeup ;
int debounce_interval ;
bool can_disable ;
int value ; /* axis value for EV_ABS */
unsigned int irq ; /* Irq number in case of interrupt keys */
int value ;
unsigned int irq ;
} ;
/**
* struct gpio_keys_platform_data - platform data for gpio_keys driver
* @ buttons : pointer to array of & gpio_keys_button structures
* describing buttons attached to the device
* @ nbuttons : number of elements in @ buttons array
* @ poll_interval : polling interval in msecs - for polling driver only
* @ rep : enable input subsystem auto repeat
* @ enable : platform hook for enabling the device
* @ disable : platform hook for disabling the device
* @ name : input device name
*/
struct gpio_keys_platform_data {
struct gpio_keys_button * buttons ;
int nbuttons ;
unsigned int poll_interval ; /* polling interval in msecs -
for polling driver only */
unsigned int rep : 1 ; /* enable input subsystem auto repeat */
unsigned int poll_interval ;
unsigned int rep : 1 ;
int ( * enable ) ( struct device * dev ) ;
void ( * disable ) ( struct device * dev ) ;
const char * name ; /* input device name */
const char * name ;
} ;
# endif