diff options
author | Simon Glass <sjg@chromium.org> | 2015-10-18 21:17:21 -0600 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2015-11-19 20:13:40 -0700 |
commit | c5d257f93f1a20a14ee0e9a236e6160b9d2925aa (patch) | |
tree | b9f5180b9ef6a16a3779cc324bccb6d6ebc46908 /drivers/input | |
parent | 4f087bace2dab1ceb42077a044c918e22691a172 (diff) | |
download | u-boot-c5d257f93f1a20a14ee0e9a236e6160b9d2925aa.zip u-boot-c5d257f93f1a20a14ee0e9a236e6160b9d2925aa.tar.gz u-boot-c5d257f93f1a20a14ee0e9a236e6160b9d2925aa.tar.bz2 |
i8042: Adjust keyboard init to assume success
Modify i8042_kbd_init() so that the normal pass is sucessful init and
failure exits early. This will make the code easier to extend and is easier
to read.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'drivers/input')
-rw-r--r-- | drivers/input/i8042.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/drivers/input/i8042.c b/drivers/input/i8042.c index 4c887f4..b1ada86 100644 --- a/drivers/input/i8042.c +++ b/drivers/input/i8042.c @@ -585,18 +585,17 @@ int i8042_kbd_init(void) keymap = KBD_GER; } - for (try = 0; try < KBD_RESET_TRIES; try++) { - if (kbd_reset() == 0) { - kbd_mapping = keymap; - kbd_flags = NORMAL; - kbd_state = 0; - kbd_led_set(); - - return 0; - } + for (try = 0; kbd_reset() != 0; try++) { + if (try >= KBD_RESET_TRIES) + return -1; } - return -1; + kbd_mapping = keymap; + kbd_flags = NORMAL; + kbd_state = 0; + kbd_led_set(); + + return 0; } /* |