tizen 2.4 release
[profile/mobile/platform/kernel/linux-3.10-sc7730.git] / include / linux / sprd_eic_keys.h
1 #ifndef _SPRD_EIC_KEYS_H
2 #define _SPRD_EIC_KEYS_H
3
4 struct device;
5
6 struct sprd_eic_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         unsigned long ds_irqflags; /* deepsleep irq flags */
19 };
20
21 struct sprd_eic_keys_platform_data {
22         struct input_dev *input_dev;
23         struct sprd_eic_keys_button *buttons;
24         int nbuttons;
25         unsigned int poll_interval;     /* polling interval in msecs -
26                                            for polling driver only */
27         unsigned int rep:1;             /* enable input subsystem auto repeat */
28         int (*enable)(struct device *dev);
29         void (*disable)(struct device *dev);
30         const char *name;               /* input device name */
31 };
32
33 #endif