17
17
18
18
#include <asm/mach-types.h>
19
19
20
-
21
- //static unsigned int keypad_row_gpios[] = {33, 31, 28};
22
- static unsigned int keypad_row_gpios [] = {34 , 28 , 33 };
23
- static unsigned int keypad_col_gpios [] = {37 , 41 , 40 };
20
+ static unsigned int keypad_row_gpios [] = {34 , 28 , 33 };
21
+ static unsigned int keypad_col_gpios [] = {37 , 41 , 40 };
24
22
25
23
#define KEYMAP_INDEX (row , col ) ((row)*ARRAY_SIZE(keypad_col_gpios) + (col))
26
24
27
- #if 0
28
25
static const unsigned short keypad_keymap_blade2 [ARRAY_SIZE (keypad_col_gpios ) *
29
- ARRAY_SIZE (keypad_row_gpios )] = {
30
- /* row, col */
31
- [KEYMAP_INDEX (0 , 0 )] = KEY_BACK ,
32
- [KEYMAP_INDEX (0 , 1 )] = 0 ,
33
- [KEYMAP_INDEX (0 , 2 )] = KEY_MENU ,
34
- [KEYMAP_INDEX (1 , 0 )] = 0 ,
35
- [KEYMAP_INDEX (1 , 1 )] = 0 ,
36
- [KEYMAP_INDEX (1 , 2 )] = KEY_HOME ,
37
- [KEYMAP_INDEX (2 , 0 )] = KEY_VOLUMEUP ,
38
- [KEYMAP_INDEX (2 , 1 )] = KEY_VOLUMEDOWN ,
39
- [KEYMAP_INDEX (2 , 2 )] = 0 ,
40
- };
41
- #endif
42
- static const unsigned short keypad_keymap_blade2 [ARRAY_SIZE (keypad_col_gpios ) *
43
- ARRAY_SIZE (keypad_row_gpios )] = {
44
- /* row, col */
45
- [KEYMAP_INDEX (0 , 0 )] = 0 ,
26
+ ARRAY_SIZE (keypad_row_gpios )] = {
27
+ [KEYMAP_INDEX (0 , 0 )] = 0 ,
46
28
[KEYMAP_INDEX (0 , 1 )] = 0 ,
47
29
[KEYMAP_INDEX (0 , 2 )] = KEY_MENU ,
48
30
[KEYMAP_INDEX (1 , 0 )] = KEY_VOLUMEUP ,
49
- [KEYMAP_INDEX (1 , 1 )] = KEY_VOLUMEDOWN ,
31
+ [KEYMAP_INDEX (1 , 1 )] = KEY_VOLUMEDOWN ,
50
32
[KEYMAP_INDEX (1 , 2 )] = 0 ,
51
33
[KEYMAP_INDEX (2 , 0 )] = KEY_BACK ,
52
- [KEYMAP_INDEX (2 , 1 )] = 0 ,
53
- [KEYMAP_INDEX (2 , 2 )] = KEY_HOME ,
34
+ [KEYMAP_INDEX (2 , 1 )] = 0 ,
35
+ [KEYMAP_INDEX (2 , 2 )] = KEY_HOME ,
54
36
};
55
37
56
38
static const unsigned short blade2_keypad_virtual_keys [] = {
@@ -62,46 +44,37 @@ static const unsigned short blade2_keypad_virtual_keys[] = {
62
44
const unsigned short * p_keypad_keymap ;
63
45
void zte_get_gpio_for_key (int * keycode )
64
46
{
65
- int gpio_wakeup_col ; //which col the gpio is in keypad_col_gpios
47
+ int gpio_wakeup_col ; //which col the gpio is in keypad_col_gpios
66
48
int col_array_size = ARRAY_SIZE (keypad_col_gpios );
67
- int r = 0 ;
68
- int keymap_index = 0 ;
49
+ int r = 0 ;
50
+ int keymap_index = 0 ;
69
51
pr_info ("[IRQWAKE] wakeup APP keycode %d\n" ,* keycode );
70
52
while ((* keycode != p_keypad_keymap [keymap_index ]) && keymap_index <= (ARRAY_SIZE (keypad_col_gpios ) * ARRAY_SIZE (keypad_row_gpios )))
71
53
{
72
- keymap_index ++ ;
54
+ keymap_index ++ ;
73
55
}
74
56
75
- //pr_info("[IRQWAKE] keymap_index %d\n",keymap_index);
76
-
77
- do {
57
+ do {
78
58
gpio_wakeup_col = keymap_index - r * col_array_size ;
79
59
r ++ ;
80
- }while (gpio_wakeup_col > col_array_size );
81
-
82
- //pr_info("[IRQWAKE] gpio_col %d\n",gpio_wakeup_col);
60
+ } while (gpio_wakeup_col > col_array_size );
61
+
83
62
* keycode = keypad_col_gpios [gpio_wakeup_col ];
84
- pr_info ("[IRQWAKE] wakeup gpio_num %d\n" ,* keycode );
85
-
63
+ pr_info ("[IRQWAKE] wakeup gpio_num %d\n" , * keycode );
86
64
}
87
-
88
65
#endif
66
+
89
67
/* blade2 keypad platform device information */
90
68
static struct gpio_event_matrix_info blade2_keypad_matrix_info = {
91
- .info .func = gpio_event_matrix_func ,
92
- .keymap = keypad_keymap_blade2 ,
69
+ .info .func = gpio_event_matrix_func ,
70
+ .keymap = keypad_keymap_blade2 ,
93
71
.output_gpios = keypad_row_gpios ,
94
72
.input_gpios = keypad_col_gpios ,
95
- .noutputs = ARRAY_SIZE (keypad_row_gpios ),
96
- .ninputs = ARRAY_SIZE (keypad_col_gpios ),
97
- .settle_time .tv .nsec = 0 ,
98
- .poll_time .tv .nsec = 20 * NSEC_PER_MSEC ,
99
- #if 1 // chenjun
100
- .flags = GPIOKPF_LEVEL_TRIGGERED_IRQ | GPIOKPF_DRIVE_INACTIVE |
101
- GPIOKPF_PRINT_UNMAPPED_KEYS
102
- #else
103
- .flags = GPIOKPF_LEVEL_TRIGGERED_IRQ | GPIOKPF_DRIVE_INACTIVE | GPIOKPF_ACTIVE_HIGH | GPIOKPF_PRINT_UNMAPPED_KEYS /*| GPIOKPF_PRINT_MAPPED_KEYS*/
104
- #endif
73
+ .noutputs = ARRAY_SIZE (keypad_row_gpios ),
74
+ .ninputs = ARRAY_SIZE (keypad_col_gpios ),
75
+ .settle_time .tv .nsec = 0 ,
76
+ .poll_time .tv .nsec = 20 * NSEC_PER_MSEC ,
77
+ .flags = GPIOKPF_LEVEL_TRIGGERED_IRQ | GPIOKPF_DRIVE_INACTIVE | GPIOKPF_PRINT_UNMAPPED_KEYS
105
78
};
106
79
107
80
static struct gpio_event_info * blade2_keypad_info [] = {
@@ -116,26 +89,24 @@ static struct gpio_event_platform_data blade2_keypad_data = {
116
89
117
90
struct platform_device keypad_device_blade2 = {
118
91
.name = GPIO_EVENT_DEV_NAME ,
119
- .id = -1 ,
92
+ .id = -1 ,
120
93
.dev = {
121
94
.platform_data = & blade2_keypad_data ,
122
95
},
123
96
};
124
97
125
-
126
98
#ifdef CONFIG_ZTE_FTM_FLAG_SUPPORT
127
99
extern int zte_get_ftm_flag (void );
128
100
#endif
129
101
130
102
static int __init blade2_init_keypad (void )
131
103
{
132
-
133
- #ifdef CONFIG_ZTE_FTM_FLAG_SUPPORT
104
+ #ifdef CONFIG_ZTE_FTM_FLAG_SUPPORT
134
105
int ftm_flag ;
135
106
ftm_flag = zte_get_ftm_flag ();
136
- if (1 == ftm_flag )return 0 ;
137
- #endif
138
-
107
+ if (1 == ftm_flag ) return 0 ;
108
+ #endif
109
+
139
110
blade2_keypad_matrix_info .keymap = keypad_keymap_blade2 ;
140
111
#ifdef CONFIG_MSM_GPIO_WAKE
141
112
p_keypad_keymap = blade2_keypad_matrix_info .keymap ;
@@ -144,4 +115,3 @@ static int __init blade2_init_keypad(void)
144
115
}
145
116
146
117
device_initcall (blade2_init_keypad );
147
-
0 commit comments