1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- /*
- * (C) P. Horton 2006
- */
- #include <linux/init.h>
- #include <linux/kernel.h>
- #include <linux/console.h>
- #include <linux/serial_reg.h>
- #include <asm/addrspace.h>
- #include <asm/mach-cobalt/cobalt.h>
- static void putchar(int c)
- {
- if(c == '\n')
- putchar('\r');
- while(!(COBALT_UART[UART_LSR] & UART_LSR_THRE))
- ;
- COBALT_UART[UART_TX] = c;
- }
- static void cons_write(struct console *c, const char *s, unsigned n)
- {
- while(n-- && *s)
- putchar(*s++);
- }
- static struct console cons_info =
- {
- .name = "uart",
- .write = cons_write,
- .flags = CON_PRINTBUFFER | CON_BOOT,
- .index = -1,
- };
- void __init cobalt_early_console(void)
- {
- register_console(&cons_info);
- printk("Cobalt: early console registered\n");
- }
- void __init disable_early_printk(void)
- {
- unregister_console(&cons_info);
- }
|