aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/xen/serial.h
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2012-09-11 15:51:52 +0200
committerJan Beulich <jbeulich@suse.com>2012-09-11 15:51:52 +0200
commit7ae6210ff88e1533770aab49289b9cc9ee52769e (patch)
tree4654fd6dc51fbd2c8f32ef849839a1d4e3f090ac /xen/include/xen/serial.h
parent322ecbe4ac85d4d9d11f50240ef6e5291fbbf440 (diff)
downloadxen-7ae6210ff88e1533770aab49289b9cc9ee52769e.tar.gz
xen-7ae6210ff88e1533770aab49289b9cc9ee52769e.tar.bz2
xen-7ae6210ff88e1533770aab49289b9cc9ee52769e.zip
serial: avoid fully initializing unused consoles
Defer calling the drivers' post-IRQ initialization functions (generally doing allocation of transmit buffers) until it is known that the respective console is actually going to be used. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/include/xen/serial.h')
-rw-r--r--xen/include/xen/serial.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/xen/include/xen/serial.h b/xen/include/xen/serial.h
index fdcc614e2a..0434956c1d 100644
--- a/xen/include/xen/serial.h
+++ b/xen/include/xen/serial.h
@@ -25,10 +25,17 @@ extern unsigned int serial_txbufsz;
struct uart_driver;
+enum serial_port_state {
+ serial_unused,
+ serial_parsed,
+ serial_initialized
+};
+
struct serial_port {
/* Uart-driver parameters. */
struct uart_driver *driver;
void *uart;
+ enum serial_port_state state;
/* Number of characters the port can hold for transmit. */
int tx_fifo_size;
/* Transmit data buffer (interrupt-driven uart). */