/* * * * Simple text console * * Copyright (C) 2005 Stefan Reinauer * Copyright (C) 2013 Mark Cave-Ayland * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation * */ #include "config.h" #include "libopenbios/bindings.h" #include "libopenbios/console.h" #include "drivers/drivers.h" /* ****************************************************************** * common functions, implementing simple concurrent console * ****************************************************************** */ /* Dummy routines for when console is unassigned */ static int dummy_putchar(int c) { return c; } static int dummy_availchar(void) { return 0; } static int dummy_getchar(void) { return 0; } struct _console_ops console_ops = { .putchar = dummy_putchar, .availchar = dummy_availchar, .getchar = dummy_getchar }; #ifdef CONFIG_DEBUG_CONSOLE void init_console(struct _console_ops ops) { console_ops = ops; } int putchar(int c) { return (*console_ops.putchar)(c); } int availchar(void) { return (*console_ops.availchar)(); } int getchar(void) { return (*console_ops.getchar)(); } #endif // CONFIG_DEBUG_CONSOLE