Author: stepan Date: Thu Mar 25 19:52:24 2010 New Revision: 5291 URL: https://tracker.coreboot.org/trac/coreboot/changeset/5291
Log: make keyboard reset driver generic (not pc keyboard driver dependent) so it can be used by usb, too
Signed-off-by: Stefan Reinauer stepan@coresystems.de Acked-by: Patrick Georgi patrick.georgi@coresystems.de
Added: trunk/payloads/libpayload/drivers/hid.c Modified: trunk/payloads/libpayload/drivers/Makefile.inc trunk/payloads/libpayload/drivers/keyboard.c trunk/payloads/libpayload/include/libpayload.h
Modified: trunk/payloads/libpayload/drivers/Makefile.inc ============================================================================== --- trunk/payloads/libpayload/drivers/Makefile.inc Thu Mar 25 16:49:40 2010 (r5290) +++ trunk/payloads/libpayload/drivers/Makefile.inc Thu Mar 25 19:52:24 2010 (r5291) @@ -58,3 +58,5 @@ TARGETS-$(CONFIG_USB_HID) += drivers/usb/usbhid.o TARGETS-$(CONFIG_USB_MSC) += drivers/usb/usbmsc.o
+# used by both USB HID and keyboard +TARGETS-y += drivers/hid.o
Added: trunk/payloads/libpayload/drivers/hid.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/payloads/libpayload/drivers/hid.c Thu Mar 25 19:52:24 2010 (r5291) @@ -0,0 +1,42 @@ +/* + * This file is part of the libpayload project. + * + * Copyright (C) 2008-2010 coresystems GmbH + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include <libpayload-config.h> +#include <libpayload.h> + +void (*reset_handler)(void) = NULL; + +int add_reset_handler(void (*new_handler)(void)) +{ + reset_handler = new_handler; + + return 0; +} + +
Modified: trunk/payloads/libpayload/drivers/keyboard.c ============================================================================== --- trunk/payloads/libpayload/drivers/keyboard.c Thu Mar 25 16:49:40 2010 (r5290) +++ trunk/payloads/libpayload/drivers/keyboard.c Thu Mar 25 19:52:24 2010 (r5291) @@ -36,16 +36,14 @@
#define I8042_MODE_XLATE 0x40
-static void (*reset_handler)(void) = NULL; - struct layout_maps { char *country; unsigned short map[4][0x57]; };
-struct layout_maps *map; +static struct layout_maps *map;
-struct layout_maps keyboard_layouts[] = { +static struct layout_maps keyboard_layouts[] = { #ifdef CONFIG_PC_KEYBOARD_LAYOUT_US { .country = "us", .map = { { /* No modifier */ @@ -319,13 +317,6 @@ return -1; }
-int keyboard_add_reset_handler(void (*new_handler)(void)) -{ - reset_handler = new_handler; - - return 0; -} - static struct console_input_driver cons = { .havekey = keyboard_havechar, .getchar = keyboard_getchar
Modified: trunk/payloads/libpayload/include/libpayload.h ============================================================================== --- trunk/payloads/libpayload/include/libpayload.h Thu Mar 25 16:49:40 2010 (r5290) +++ trunk/payloads/libpayload/include/libpayload.h Thu Mar 25 19:52:24 2010 (r5291) @@ -125,6 +125,9 @@ * @{ @} */
+extern void (*reset_handler)(void); +int add_reset_handler(void (*new_handler)(void)); + /** * @defgroup keyboard Keyboard functions * @ingroup input @@ -135,7 +138,6 @@ unsigned char keyboard_get_scancode(void); int keyboard_getchar(void); int keyboard_set_layout(char *country); -int keyboard_add_reset_handler(void (*new_handler)(void)); /** @} */
/**