12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #ifndef _GPIO_KEYS_H
- #define _GPIO_KEYS_H
- /* DVFS feature : HOME_KEY BOOSTER */
- #define KEY_BOOSTER
- #ifdef KEY_BOOSTER
- #include <linux/cpufreq.h>
- #define KEY_BOOSTER_OFF_TIME 500
- #define KEY_BOOSTER_CHG_TIME 130
- #endif
- extern struct class *sec_class;
- struct device;
- struct gpio_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 */
- };
- 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 */
- int (*enable)(struct device *dev);
- void (*disable)(struct device *dev);
- const char *name; /* input device name */
- #ifdef CONFIG_SENSORS_HALL
- int gpio_flip_cover;
- int flip_code;
- #endif
- #ifdef CONFIG_SENSORS_HALL_IRQ_CTRL
- bool workaround_set;
- #endif
- #ifdef CONFIG_SENSORS_HALL_DEBOUNCE
- bool debounce_set;
- #endif
- };
- #ifdef CONFIG_SENSORS_HALL_IRQ_CTRL
- extern void gpio_hall_irq_set(int state, bool auth_changed);
- enum state {
- disable = 0,
- enable
- };
- #endif
- #endif
|