Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/mips/kernel/early_printk.c
26424 views
1
/*
2
* This file is subject to the terms and conditions of the GNU General Public
3
* License. See the file "COPYING" in the main directory of this archive
4
* for more details.
5
*
6
* Copyright (C) 2002, 2003, 06, 07 Ralf Baechle ([email protected])
7
* Copyright (C) 2007 MIPS Technologies, Inc.
8
* written by Ralf Baechle ([email protected])
9
*/
10
#include <linux/kernel.h>
11
#include <linux/console.h>
12
#include <linux/printk.h>
13
#include <linux/init.h>
14
15
#include <asm/setup.h>
16
17
static void early_console_write(struct console *con, const char *s, unsigned n)
18
{
19
while (n-- && *s) {
20
if (*s == '\n')
21
prom_putchar('\r');
22
prom_putchar(*s);
23
s++;
24
}
25
}
26
27
static struct console early_console_prom = {
28
.name = "early",
29
.write = early_console_write,
30
.flags = CON_PRINTBUFFER | CON_BOOT,
31
.index = -1
32
};
33
34
void __init setup_early_printk(void)
35
{
36
if (early_console)
37
return;
38
early_console = &early_console_prom;
39
40
register_console(&early_console_prom);
41
}
42
43