diff -drupN a/drivers/input/init-input.h b/drivers/input/init-input.h --- a/drivers/input/init-input.h 1970-01-01 03:00:00.000000000 +0300 +++ b/drivers/input/init-input.h 2022-06-12 05:28:14.000000000 +0300 @@ -0,0 +1,91 @@ +/* + * Copyright (c) 2013-2015 liming@allwinnertech.com + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published by + * the Free Software Foundation. + */ +#ifndef _INIT_INPUT_H +#define _INIT_INPUT_H +//#include + +//#include + +//this *.h already include in linux/sys_config.h +//#include + +#include +#include +#include + +typedef u32 (*gpio_int_handle)(void *para); + +enum input_sensor_type { + CTP_TYPE, + GSENSOR_TYPE, + GYR_TYPE, + COMPASS_TYPE, + LS_TYPE, + MOTOR_TYPE, +}; + +struct sensor_config_info { + enum input_sensor_type input_type; + int sensor_used; + __u32 twi_id; + u32 int_number; + struct gpio_config irq_gpio; + char *ldo; + struct device *dev; + struct pinctrl *pinctrl; + const char *sensor_power; + u32 sensor_power_vol; + struct regulator *sensor_power_ldo; +}; + +struct ctp_config_info { + enum input_sensor_type input_type; + int ctp_used; + __u32 twi_id; + const char *name; + int screen_max_x; + int screen_max_y; + int revert_x_flag; + int revert_y_flag; + int exchange_x_y_flag; + u32 int_number; + unsigned char device_detect; + const char *ctp_power; + u32 ctp_power_vol; + struct gpio_config ctp_power_io; + struct regulator *ctp_power_ldo; + struct gpio_config irq_gpio; + struct gpio_config wakeup_gpio; +#ifdef TOUCH_KEY_LIGHT_SUPPORT + struct gpio_config key_light_gpio; +#endif + struct device *dev; + struct pinctrl *pinctrl; +}; + +struct motor_config_info { + enum input_sensor_type input_type; + int motor_used; + int vibe_off; + u32 ldo_voltage; + const char *ldo; + struct gpio_config motor_gpio; +}; + +int input_fetch_sysconfig_para(enum input_sensor_type *input_type); +void input_free_platform_resource(enum input_sensor_type *input_type); +int input_init_platform_resource(enum input_sensor_type *input_type); +int input_request_int(enum input_sensor_type *input_type, irq_handler_t handle, + unsigned long trig_type, void *para); +int input_free_int(enum input_sensor_type *input_type, void *para); +int input_set_int_enable(enum input_sensor_type *input_type, u32 enable); +int input_set_power_enable(enum input_sensor_type *input_type, u32 enable); +int input_sensor_startup(enum input_sensor_type *input_type); +int input_sensor_init(enum input_sensor_type *input_type); +void input_sensor_free(enum input_sensor_type *input_type); +#endif