diff -drupN a/drivers/input/keyboard/sunxi-gpio-ir-rx.h b/drivers/input/keyboard/sunxi-gpio-ir-rx.h --- a/drivers/input/keyboard/sunxi-gpio-ir-rx.h 1970-01-01 03:00:00.000000000 +0300 +++ b/drivers/input/keyboard/sunxi-gpio-ir-rx.h 2022-06-12 05:28:14.000000000 +0300 @@ -0,0 +1,61 @@ +/* + * drivers/input/keyboard/sunxi-gpio-ir-tx.h + * + * Copyright (c) 2013-2018 Allwinnertech Co., Ltd. + * + * This software is licensed under the terms of the GNU General Public + * License version 2, as published by the Free Software Foundation, and + * may be copied, distributed, and modified under those terms. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ +#ifndef _SUNXI_GPIO_IR_RX_H +#define _SUNXI_GPIO_IR_RX_H + +/* + * Defines + */ +#define DRV_VERSION "1.0" + +#define GPIO_IR_L1_MIN 8000 /* 8ms, Lead1(9ms) > IR_L1_MIN */ +#define GPIO_IR_L0_MIN 2000 /* 2ms, Lead0(4.5ms) Lead0R(2.25ms) */ + +#define GPIO_IR_PMAX 2000 /*2000us, Pluse < IR_PMAX */ +#define GPIO_IR_PMIN 400 /*400us, Pluse > GPIO_IR_PMIN */ +#define GPIO_IR_DMID 1400 /*1400us, D1 > IR_DMID, D0 =< IR_DMID */ + + +#define GPIO_IR_ERROR_CODE (0xffffffff) +#define GPIO_IR_REPEAT_CODE (0x00000000) + + +struct gpio_ir_rx_info { + struct input_dev *ir_dev; + unsigned int ir_rx_gpio; + unsigned int ir_rx_gpio_irq; + struct tasklet_struct tsklet; + struct fasync_struct *ir_fasync; + //struct mutex lock; + struct timer_list report_timer; + struct timer_list sample_timer; + ktime_t ktime; + unsigned int timer_used; + unsigned int key_count; + unsigned int ir_code; + unsigned int report_enable; + unsigned int sampler_enable; +}; + +enum { + DEBUG_INIT = 1U << 0, + DEBUG_INT = 1U << 1, + DEBUG_DATA_INFO = 1U << 2, + DEBUG_SUSPEND = 1U << 3, + DEBUG_ERR = 1U << 4, +}; + +#endif