diff options
Diffstat (limited to 'include/linux/sprd_eic_keys.h')
| -rw-r--r-- | include/linux/sprd_eic_keys.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/include/linux/sprd_eic_keys.h b/include/linux/sprd_eic_keys.h new file mode 100644 index 00000000..4555da0a --- /dev/null +++ b/include/linux/sprd_eic_keys.h @@ -0,0 +1,33 @@ +#ifndef _SPRD_EIC_KEYS_H +#define _SPRD_EIC_KEYS_H + +struct device; + +struct sprd_eic_keys_button { + /* Configuration parameters */ + unsigned int code; /* input event code (KEY_*, SW_*) */ + int gpio; /* -1 if this key does not support 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 */ + bool can_disable; + int value; /* axis value for EV_ABS */ + unsigned int irq; /* Irq number in case of interrupt keys */ + unsigned long ds_irqflags; /* deepsleep irq flags */ +}; + +struct sprd_eic_keys_platform_data { + struct input_dev *input_dev; + struct sprd_eic_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 */ + int (*enable)(struct device *dev); + void (*disable)(struct device *dev); + const char *name; /* input device name */ +}; + +#endif |
