mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-11 07:39:47 +00:00
[MIPS] Early printk for IP27.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
73f403527b
commit
a3d4539186
@ -606,6 +606,7 @@ config SGI_IP27
|
||||
select ARC64
|
||||
select BOOT_ELF64
|
||||
select DMA_IP27
|
||||
select EARLY_PRINTK
|
||||
select HW_HAS_PCI
|
||||
select PCI_DOMAINS
|
||||
select SYS_HAS_CPU_R10000
|
||||
|
@ -2,11 +2,12 @@
|
||||
# Makefile for the IP27 specific kernel interface routines under Linux.
|
||||
#
|
||||
|
||||
obj-y := ip27-berr.o ip27-console.o ip27-irq.o ip27-init.o \
|
||||
ip27-klconfig.o ip27-klnuma.o ip27-memory.o ip27-nmi.o ip27-reset.o \
|
||||
ip27-timer.o ip27-hubio.o ip27-xtalk.o
|
||||
obj-y := ip27-berr.o ip27-irq.o ip27-init.o ip27-klconfig.o ip27-klnuma.o \
|
||||
ip27-memory.o ip27-nmi.o ip27-reset.o ip27-timer.o ip27-hubio.o \
|
||||
ip27-xtalk.o
|
||||
|
||||
obj-$(CONFIG_KGDB) += ip27-dbgio.o
|
||||
obj-$(CONFIG_SMP) += ip27-smp.o
|
||||
obj-$(CONFIG_EARLY_PRINTK) += ip27-console.o
|
||||
obj-$(CONFIG_KGDB) += ip27-dbgio.o
|
||||
obj-$(CONFIG_SMP) += ip27-smp.o
|
||||
|
||||
EXTRA_AFLAGS := $(CFLAGS)
|
||||
|
@ -46,33 +46,29 @@ void prom_putchar(char 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)
|
||||
{
|
||||
struct uart_port up;
|
||||
|
||||
/*
|
||||
* 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))
|
||||
printk(KERN_ERR "Early serial init of port 0 failed\n");
|
||||
}
|
||||
static struct console ioc3_console = {
|
||||
.name = "ioc3",
|
||||
.write = ioc3_console_write,
|
||||
.flags = CON_PRINTBUFFER | CON_BOOT,
|
||||
.index = -1
|
||||
};
|
||||
|
||||
__init void ip27_setup_console(void)
|
||||
{
|
||||
ioc3_console_probe();
|
||||
register_console(&ioc3_console);
|
||||
}
|
||||
|
||||
void __init disable_early_printk(void)
|
||||
{
|
||||
unregister_console(&ioc3_console);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user