summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAseda Aboagye <aaboagye@google.com>2015-11-04 14:40:53 -0800
committerchrome-bot <chrome-bot@chromium.org>2015-11-11 11:01:04 -0800
commit6112f20679dfc6c61dd69e7cd711970a01746ec0 (patch)
tree93a432f45cccf9cf52f6b297b1e6d14607365724
parent1ade79a8e60070f67960537aec8c564362cd6580 (diff)
downloadchrome-ec-6112f20679dfc6c61dd69e7cd711970a01746ec0.tar.gz
common: keyboard_scan: Add items to .bss.slow.
BUG=chrome-os-partner:46056 BUG=chrome-os-partner:46063 BRANCH=None TEST=Enable CONFIG_REPLACE_LOADER_WITH_BSS_SLOW on GLaDOS. Build, flash, and verify that AP and EC boot. Perform typing test with no jank or other oddities. TEST='sysjump rw' and repeat the typing test. TEST=Hold down arrow down and issue 'reboot' command. TEST=make -j buildall tests CQ-DEPEND=CL:311209 Change-Id: I35911862af2a4e9feb795b2a9a2aafa97687e2f2 Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/311411 Commit-Ready: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
-rw-r--r--common/keyboard_scan.c31
1 files changed, 19 insertions, 12 deletions
diff --git a/common/keyboard_scan.c b/common/keyboard_scan.c
index 5e71554e3f..bccc601125 100644
--- a/common/keyboard_scan.c
+++ b/common/keyboard_scan.c
@@ -69,27 +69,34 @@ static const struct boot_key_entry boot_key_list[] = {
};
static enum boot_key boot_key_value = BOOT_KEY_OTHER;
-static uint8_t debounced_state[KEYBOARD_COLS]; /* Debounced key matrix */
-static uint8_t prev_state[KEYBOARD_COLS]; /* Matrix from previous scan */
-static uint8_t debouncing[KEYBOARD_COLS]; /* Mask of keys being debounced */
-static uint8_t simulated_key[KEYBOARD_COLS]; /* Keys simulated-pressed */
-
-static uint32_t scan_time[SCAN_TIME_COUNT]; /* Times of last scans */
-static int scan_time_index; /* Current scan_time[] index */
+/* Debounced key matrix */
+static uint8_t __bss_slow debounced_state[KEYBOARD_COLS];
+/* Matrix from previous scan */
+static uint8_t __bss_slow prev_state[KEYBOARD_COLS];
+/* Mask of keys being debounced */
+static uint8_t __bss_slow debouncing[KEYBOARD_COLS];
+/* Keys simulated-pressed */
+static uint8_t __bss_slow simulated_key[KEYBOARD_COLS];
+
+/* Times of last scans */
+static uint32_t __bss_slow scan_time[SCAN_TIME_COUNT];
+/* Current scan_time[] index */
+static int __bss_slow scan_time_index;
/* Index into scan_time[] when each key started debouncing */
-static uint8_t scan_edge_index[KEYBOARD_COLS][KEYBOARD_ROWS];
+static uint8_t __bss_slow scan_edge_index[KEYBOARD_COLS][KEYBOARD_ROWS];
/* Minimum delay between keyboard scans based on current clock frequency */
-static uint32_t post_scan_clock_us;
+static uint32_t __bss_slow post_scan_clock_us;
/*
* Print all keyboard scan state changes? Off by default because it generates
* a lot of debug output, which makes the saved EC console data less useful.
*/
-static int print_state_changes;
+static int __bss_slow print_state_changes;
-static int disable_scanning_mask; /* Must init to 0 for scanning at boot */
+/* Must init to 0 for scanning at boot */
+static int __bss_slow disable_scanning_mask;
/* Constantly incrementing counter of the number of times we polled */
static volatile int kbd_polls;
@@ -401,7 +408,7 @@ static int check_keys_changed(uint8_t *state)
int any_pressed = 0;
int c, i;
int any_change = 0;
- static uint8_t new_state[KEYBOARD_COLS];
+ static uint8_t __bss_slow new_state[KEYBOARD_COLS];
uint32_t tnow = get_time().le.lo;
/* Save the current scan time */