提交 48edb304 编写于 作者: G Gabe Black 提交者: Tom Rini

input: Provide a board specific mechanism to decide whether to skip i8042 init

This change adds a board overridable function which can be used to decide
whether or not to initialize the i8042 keyboard controller. On systems where
it isn't actually connected to anything, this can save a significant amount of
boot time.

On Stumpy, this saves about 200ms on boot.
Signed-off-by: NGabe Black <gabeblack@chromium.org>
Signed-off-by: NSimon Glass <sjg@chromium.org>
Signed-off-by: NTom Rini <trini@ti.com>
上级 ef94f7fa
......@@ -26,6 +26,7 @@
/* includes */
#include <common.h>
#include <linux/compiler.h>
#ifdef CONFIG_USE_CPCIDVI
extern u8 gt_cpcidvi_in8(u32 offset);
......@@ -320,6 +321,16 @@ static int kbd_controller_present(void)
return in8(I8042_STATUS_REG) != 0xff;
}
/*
* Implement a weak default function for boards that optionally
* need to skip the i8042 initialization.
*/
int __weak board_i8042_skip(void)
{
/* As default, don't skip */
return 0;
}
/*******************************************************************************
*
* i8042_kbd_init - reset keyboard and init state flags
......@@ -329,7 +340,7 @@ int i8042_kbd_init(void)
int keymap, try;
char *penv;
if (!kbd_controller_present())
if (!kbd_controller_present() || board_i8042_skip())
return -1;
#ifdef CONFIG_USE_CPCIDVI
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册