Files
Francescodario Cuzzocrea 85baa390bf misc: Import SM-G900H kernel source code
* Samsung Package Version: G800HXXU1CRJ1
    * CAF Tag: LA.BF.1.1.3-00110-8x26.0
2019-08-02 15:14:10 +02:00

58 lines
1.5 KiB
C

#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