提交 a3d45391 编写于 作者: R Ralf Baechle

[MIPS] Early printk for IP27.

Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
上级 73f40352
...@@ -606,6 +606,7 @@ config SGI_IP27 ...@@ -606,6 +606,7 @@ config SGI_IP27
select ARC64 select ARC64
select BOOT_ELF64 select BOOT_ELF64
select DMA_IP27 select DMA_IP27
select EARLY_PRINTK
select HW_HAS_PCI select HW_HAS_PCI
select PCI_DOMAINS select PCI_DOMAINS
select SYS_HAS_CPU_R10000 select SYS_HAS_CPU_R10000
......
...@@ -2,11 +2,12 @@ ...@@ -2,11 +2,12 @@
# Makefile for the IP27 specific kernel interface routines under Linux. # Makefile for the IP27 specific kernel interface routines under Linux.
# #
obj-y := ip27-berr.o ip27-console.o ip27-irq.o ip27-init.o \ obj-y := ip27-berr.o ip27-irq.o ip27-init.o ip27-klconfig.o ip27-klnuma.o \
ip27-klconfig.o ip27-klnuma.o ip27-memory.o ip27-nmi.o ip27-reset.o \ ip27-memory.o ip27-nmi.o ip27-reset.o ip27-timer.o ip27-hubio.o \
ip27-timer.o ip27-hubio.o ip27-xtalk.o ip27-xtalk.o
obj-$(CONFIG_KGDB) += ip27-dbgio.o obj-$(CONFIG_EARLY_PRINTK) += ip27-console.o
obj-$(CONFIG_SMP) += ip27-smp.o obj-$(CONFIG_KGDB) += ip27-dbgio.o
obj-$(CONFIG_SMP) += ip27-smp.o
EXTRA_AFLAGS := $(CFLAGS) EXTRA_AFLAGS := $(CFLAGS)
...@@ -46,33 +46,29 @@ void prom_putchar(char c) ...@@ -46,33 +46,29 @@ void prom_putchar(char c)
uart->iu_thr = c; uart->iu_thr = c;
} }
char __init prom_getchar(void) static void ioc3_console_write(struct console *con, const char *s, unsigned n)
{ {
return 0; while (n-- && *s) {
if (*s == '\n')
prom_putchar('\r');
prom_putchar(*s);
s++;
}
} }
static void inline ioc3_console_probe(void) static struct console ioc3_console = {
{ .name = "ioc3",
struct uart_port up; .write = ioc3_console_write,
.flags = CON_PRINTBUFFER | CON_BOOT,
/* .index = -1
* Register to interrupt zero because we share the interrupt with };
* the serial driver which we don't properly support yet.
*/
memset(&up, 0, sizeof(up));
up.membase = (unsigned char *) console_uart();
up.irq = 0;
up.uartclk = IOC3_CLK;
up.regshift = 0;
up.iotype = UPIO_MEM;
up.flags = IOC3_FLAGS;
up.line = 0;
if (early_serial_setup(&up)) __init void ip27_setup_console(void)
printk(KERN_ERR "Early serial init of port 0 failed\n"); {
register_console(&ioc3_console);
} }
__init void ip27_setup_console(void) void __init disable_early_printk(void)
{ {
ioc3_console_probe(); unregister_console(&ioc3_console);
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册