arc_con.c 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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/setup.h>
  16. #include <asm/sgialib.h>
  17. static void prom_console_write(struct console *co, const char *s,
  18. unsigned count)
  19. {
  20. /* Do each character */
  21. while (count--) {
  22. if (*s == '\n')
  23. prom_putchar('\r');
  24. prom_putchar(*s++);
  25. }
  26. }
  27. static int prom_console_setup(struct console *co, char *options)
  28. {
  29. return !(prom_flags & PROM_FLAG_USE_AS_CONSOLE);
  30. }
  31. static struct console arc_cons = {
  32. .name = "arc",
  33. .write = prom_console_write,
  34. .setup = prom_console_setup,
  35. .flags = CON_PRINTBUFFER,
  36. .index = -1,
  37. };
  38. /*
  39. * Register console.
  40. */
  41. static int __init arc_console_init(void)
  42. {
  43. register_console(&arc_cons);
  44. return 0;
  45. }
  46. console_initcall(arc_console_init);