1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #include <linux/kernel.h>
- #include <linux/console.h>
- #include <linux/init.h>
- extern void printch(int);
- static void early_write(const char *s, unsigned n)
- {
- while (n-- > 0) {
- if (*s == '\n')
- printch('\r');
- printch(*s);
- s++;
- }
- }
- static void early_console_write(struct console *con, const char *s, unsigned n)
- {
- early_write(s, n);
- }
- static struct console early_console_dev = {
- .name = "earlycon",
- .write = early_console_write,
- .flags = CON_PRINTBUFFER | CON_BOOT,
- .index = -1,
- };
- static int __init setup_early_printk(char *buf)
- {
- early_console = &early_console_dev;
- register_console(&early_console_dev);
- return 0;
- }
- early_param("earlyprintk", setup_early_printk);
|