Loading arch/mips/Kconfig +1 −0 Original line number Diff line number Diff line Loading @@ -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 Loading arch/mips/sgi-ip27/Makefile +6 −5 Original line number Diff line number Diff line Loading @@ -2,10 +2,11 @@ # 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_EARLY_PRINTK) += ip27-console.o obj-$(CONFIG_KGDB) += ip27-dbgio.o obj-$(CONFIG_SMP) += ip27-smp.o Loading arch/mips/sgi-ip27/ip27-console.c +18 −22 Original line number Diff line number Diff line Loading @@ -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; static struct console ioc3_console = { .name = "ioc3", .write = ioc3_console_write, .flags = CON_PRINTBUFFER | CON_BOOT, .index = -1 }; if (early_serial_setup(&up)) printk(KERN_ERR "Early serial init of port 0 failed\n"); __init void ip27_setup_console(void) { register_console(&ioc3_console); } __init void ip27_setup_console(void) void __init disable_early_printk(void) { ioc3_console_probe(); unregister_console(&ioc3_console); } Loading
arch/mips/Kconfig +1 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
arch/mips/sgi-ip27/Makefile +6 −5 Original line number Diff line number Diff line Loading @@ -2,10 +2,11 @@ # 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_EARLY_PRINTK) += ip27-console.o obj-$(CONFIG_KGDB) += ip27-dbgio.o obj-$(CONFIG_SMP) += ip27-smp.o Loading
arch/mips/sgi-ip27/ip27-console.c +18 −22 Original line number Diff line number Diff line Loading @@ -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; static struct console ioc3_console = { .name = "ioc3", .write = ioc3_console_write, .flags = CON_PRINTBUFFER | CON_BOOT, .index = -1 }; if (early_serial_setup(&up)) printk(KERN_ERR "Early serial init of port 0 failed\n"); __init void ip27_setup_console(void) { register_console(&ioc3_console); } __init void ip27_setup_console(void) void __init disable_early_printk(void) { ioc3_console_probe(); unregister_console(&ioc3_console); }