linux/include/linux/gpio_keys.h
<<
>>
Prefs
   1#ifndef _GPIO_KEYS_H
   2#define _GPIO_KEYS_H
   3
   4struct device;
   5
   6struct gpio_keys_button {
   7        /* Configuration parameters */
   8        unsigned int code;      /* input event code (KEY_*, SW_*) */
   9        int gpio;               /* -1 if this key does not support gpio */
  10        int active_low;
  11        const char *desc;
  12        unsigned int type;      /* input event type (EV_KEY, EV_SW, EV_ABS) */
  13        int wakeup;             /* configure the button as a wake-up source */
  14        int debounce_interval;  /* debounce ticks interval in msecs */
  15        bool can_disable;
  16        int value;              /* axis value for EV_ABS */
  17        unsigned int irq;       /* Irq number in case of interrupt keys */
  18};
  19
  20struct gpio_keys_platform_data {
  21        struct gpio_keys_button *buttons;
  22        int nbuttons;
  23        unsigned int poll_interval;     /* polling interval in msecs -
  24                                           for polling driver only */
  25        unsigned int rep:1;             /* enable input subsystem auto repeat */
  26        int (*enable)(struct device *dev);
  27        void (*disable)(struct device *dev);
  28        const char *name;               /* input device name */
  29};
  30
  31#endif
  32