dev/keypad: Removed unnecessary scans for detecting key press event.
- Reduces boot time spent in LK.
Change-Id: I62f289bd46dcd18ed1a42aeeceb7480f2241be6d
diff --git a/dev/keys/gpio_keypad.c b/dev/keys/gpio_keypad.c
index 03406ee..136d77b 100644
--- a/dev/keys/gpio_keypad.c
+++ b/dev/keys/gpio_keypad.c
@@ -58,7 +58,6 @@
struct qwerty_keypad_info *keypad_info;
struct timer timer;
event_t full_scan;
- int num_of_scans;
unsigned int some_keys_pressed:2;
unsigned long keys_pressed[0];
};
@@ -573,28 +572,15 @@
if (shift != key_detected) {
key_detected = shift;
keys_post_event((qwerty_keypad->keypad_info)->keymap[shift], 1);
- event_signal(&qwerty_keypad->full_scan, false);
- timer_set_oneshot(timer, (qwerty_keypad->keypad_info)->poll_time,
- scan_qwerty_keypad, NULL);
- return INT_RESCHEDULE;
-
}
}
}
}
}
}
- if (qwerty_keypad->num_of_scans < 10)
- {
- (qwerty_keypad->num_of_scans)++;
- timer_set_oneshot(timer, (qwerty_keypad->keypad_info)->settle_time,
- scan_qwerty_keypad, NULL);
- return INT_RESCHEDULE;
- }
event_signal(&qwerty_keypad->full_scan, false);
return INT_RESCHEDULE;
-
}
static enum handler_return
@@ -653,7 +639,6 @@
memset(qwerty_keypad, 0, len);
qwerty_keypad->keypad_info = qwerty_kp;
- qwerty_keypad->num_of_scans = 0;
event_init(&qwerty_keypad->full_scan, false, EVENT_FLAG_AUTOUNSIGNAL);
timer_initialize(&qwerty_keypad->timer);