arc_con.c 1009 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Wrap-around code for a console using the
  4. * ARC io-routines.
  5. *
  6. * Copyright (c) 1998 Harald Koerfgen
  7. * Copyright (c) 2001 Ralf Baechle
  8. * Copyright (c) 2002 Thiemo Seufer
  9. */
  10. #include <linux/tty.h>
  11. #include <linux/major.h>
  12. #include <linux/init.h>
  13. #include <linux/console.h>
  14. #include <linux/fs.h>
  15. #include <asm/sgialib.h>
  16. static void prom_console_write(struct console *co, const char *s,
  17. unsigned count)
  18. {
  19. /* Do each character */
  20. while (count--) {
  21. if (*s == '\n')
  22. prom_putchar('\r');
  23. prom_putchar(*s++);
  24. }
  25. }
  26. static int prom_console_setup(struct console *co, char *options)
  27. {
  28. return !(prom_flags & PROM_FLAG_USE_AS_CONSOLE);
  29. }
  30. static struct console arc_cons = {
  31. .name = "arc",
  32. .write = prom_console_write,
  33. .setup = prom_console_setup,
  34. .flags = CON_PRINTBUFFER,
  35. .index = -1,
  36. };
  37. /*
  38. * Register console.
  39. */
  40. static int __init arc_console_init(void)
  41. {
  42. register_console(&arc_cons);
  43. return 0;
  44. }
  45. console_initcall(arc_console_init);