Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a3d45391 authored by Ralf Baechle's avatar Ralf Baechle
Browse files

[MIPS] Early printk for IP27.

parent 73f40352
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -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
+6 −5
Original line number Original line Diff line number Diff line
@@ -2,10 +2,11 @@
# 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_EARLY_PRINTK)	+= ip27-console.o
obj-$(CONFIG_KGDB)		+= ip27-dbgio.o
obj-$(CONFIG_KGDB)		+= ip27-dbgio.o
obj-$(CONFIG_SMP)		+= ip27-smp.o
obj-$(CONFIG_SMP)		+= ip27-smp.o


+18 −22
Original line number Original line Diff line number Diff line
@@ -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);
}
}