aboutsummaryrefslogtreecommitdiff
path: root/payloads/libpayload/drivers/keyboard.c
diff options
context:
space:
mode:
authorPatrick Georgi <patrick.georgi@coresystems.de>2008-10-21 15:08:18 +0000
committerPatrick Georgi <patrick.georgi@coresystems.de>2008-10-21 15:08:18 +0000
commit657a6dc390871721711c2becc8501d05095891e5 (patch)
tree145b4de959fa8b76f5585ea85b1c5960e76d37c9 /payloads/libpayload/drivers/keyboard.c
parent97f56a4b7e36a49f8d7d24dcf741df1c181f13cb (diff)
This patch removes most of the #ifdefs in libc/console.c, and
replaces it with two queues (input, output) where drivers (serial, keyboard, video, usb) can attach. The only things left with #ifdefs are initialization (at some point the drivers must get a chance to register) Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de> Acked-by: Jordan Crouse <jordan.crouse@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3679 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'payloads/libpayload/drivers/keyboard.c')
-rw-r--r--payloads/libpayload/drivers/keyboard.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/payloads/libpayload/drivers/keyboard.c b/payloads/libpayload/drivers/keyboard.c
index 95827463ca..0d8f72b32e 100644
--- a/payloads/libpayload/drivers/keyboard.c
+++ b/payloads/libpayload/drivers/keyboard.c
@@ -326,6 +326,11 @@ int keyboard_add_reset_handler(void (*new_handler)(void))
return 0;
}
+static struct console_input_driver cons = {
+ .havekey = keyboard_havechar,
+ .getchar = keyboard_getchar
+};
+
void keyboard_init(void)
{
u8 mode;
@@ -350,5 +355,7 @@ void keyboard_init(void)
/* Write the new mode */
keyboard_set_mode(mode);
+
+ console_add_input_driver(&cons);
}