input: touchscreen: add touch screen of gslx680 for rk3399-firefly-edp
[firefly-linux-kernel-4.4.55.git] / drivers / gpio / expand_gpio_soft_interrupt.h
1 #ifndef _SOFT_INTERRUPT_H\r
2 #define _SOFT_INTERRUPT_H
3 \r
4 #define MAX_SUPPORT_PORT_GROUP 5\r
5 \r
6 typedef int (*irq_read_inputreg)(void *,char *);\r
7 struct expand_gpio_irq_data\r
8 {\r
9         void *data;\r
10         irq_read_inputreg read_allinputreg;\r
11 };\r
12 \r
13 struct expand_gpio_global_variable\r
14 {\r
15         uint8_t reg_input[MAX_SUPPORT_PORT_GROUP];\r
16         uint8_t reg_output[MAX_SUPPORT_PORT_GROUP];\r
17         uint8_t reg_direction[MAX_SUPPORT_PORT_GROUP];\r
18 };\r
19 struct expand_gpio_soft_int\r
20 {\r
21         unsigned int gpio_irq_start;\r
22         unsigned int irq_pin_num;                                       //ÖжϵĸöÊý\r
23         unsigned int irq_gpiopin;                               //¸¸ÖжϵÄÖжϠ½Å\r
24         unsigned int irq_chain;                                 //¸¸ÖжϵÄÖжϺÅ\r
25 \r
26         unsigned int expand_port_group;\r
27         unsigned int expand_port_pinnum;\r
28         unsigned int rk_irq_mode;\r
29         unsigned int rk_irq_gpio_pull_up_down;\r
30         \r
31         uint8_t interrupt_en[MAX_SUPPORT_PORT_GROUP];           // 0 dis\r
32         uint8_t interrupt_mask[MAX_SUPPORT_PORT_GROUP];         // 0 unmask\r
33         uint8_t inttype_set[MAX_SUPPORT_PORT_GROUP];            // Inttype  enable\r
34         uint8_t inttype[MAX_SUPPORT_PORT_GROUP];        \r
35         uint8_t inttype1[MAX_SUPPORT_PORT_GROUP];\r
36         \r
37         struct expand_gpio_irq_data irq_data;\r
38         struct work_struct irq_work;\r
39         struct expand_gpio_global_variable *gvar;\r
40 };\r
41 \r
42 extern struct expand_gpio_soft_int expand_irq_data;\r
43 extern int wait_untill_input_reg_flash(void);\r
44 extern void expand_irq_init(void *data,struct expand_gpio_global_variable *var,irq_read_inputreg handler);\r
45 \r
46 #endif\r
47 \r