summaryrefslogtreecommitdiff
path: root/include/linux/serial_core.h
diff options
context:
space:
mode:
authorRob Herring <robh@kernel.org>2014-05-20 14:22:54 -0500
committerRob Herring <robh@kernel.org>2014-05-20 14:22:54 -0500
commit6e87b7030e3ef2c7ad01fcaa1b46d3ebe6c261e7 (patch)
treee01eaf5fcfed6767da9fcfd8f5120ef667c81bb8 /include/linux/serial_core.h
parenteafd370dfe487facfdef499057f4eac9aa0b4bf5 (diff)
parente26f1db9b8d74617519e50b41749900d0a257406 (diff)
Merge branch 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty into for-next
Conflicts: arch/arm64/kernel/early_printk.c
Diffstat (limited to 'include/linux/serial_core.h')
-rw-r--r--include/linux/serial_core.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
index f729be981da0..7a15b5b24c0b 100644
--- a/include/linux/serial_core.h
+++ b/include/linux/serial_core.h
@@ -285,6 +285,22 @@ static inline int uart_poll_timeout(struct uart_port *port)
/*
* Console helpers.
*/
+struct earlycon_device {
+ struct console *con;
+ struct uart_port port;
+ char options[16]; /* e.g., 115200n8 */
+ unsigned int baud;
+};
+int setup_earlycon(char *buf, const char *match,
+ int (*setup)(struct earlycon_device *, const char *));
+
+#define EARLYCON_DECLARE(name, func) \
+static int __init name ## _setup_earlycon(char *buf) \
+{ \
+ return setup_earlycon(buf, __stringify(name), func); \
+} \
+early_param("earlycon", name ## _setup_earlycon);
+
struct uart_port *uart_get_console(struct uart_port *ports, int nr,
struct console *c);
void uart_parse_options(char *options, int *baud, int *parity, int *bits,