root/arch/s390/kernel/early_printk.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. sclp_early_write
  2. setup_early_printk

   1 // SPDX-License-Identifier: GPL-2.0
   2 /*
   3  *    Copyright IBM Corp. 2017
   4  */
   5 
   6 #include <linux/console.h>
   7 #include <linux/kernel.h>
   8 #include <linux/init.h>
   9 #include <asm/sclp.h>
  10 
  11 static void sclp_early_write(struct console *con, const char *s, unsigned int len)
  12 {
  13         __sclp_early_printk(s, len, 0);
  14 }
  15 
  16 static struct console sclp_early_console = {
  17         .name  = "earlysclp",
  18         .write = sclp_early_write,
  19         .flags = CON_PRINTBUFFER | CON_BOOT,
  20         .index = -1,
  21 };
  22 
  23 static int __init setup_early_printk(char *buf)
  24 {
  25         if (early_console)
  26                 return 0;
  27         /* Accept only "earlyprintk" and "earlyprintk=sclp" */
  28         if (buf && !str_has_prefix(buf, "sclp"))
  29                 return 0;
  30         if (!sclp.has_linemode && !sclp.has_vt220)
  31                 return 0;
  32         early_console = &sclp_early_console;
  33         register_console(early_console);
  34         return 0;
  35 }
  36 early_param("earlyprintk", setup_early_printk);

/* [<][>][^][v][top][bottom][index][help] */