cregit-Linux how code gets into the kernel

Release 4.14 arch/um/drivers/stderr_console.c

Directory: arch/um/drivers
// SPDX-License-Identifier: GPL-2.0
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/console.h>

#include "chan_user.h"

/* ----------------------------------------------------------------------------- */
/* trivial console driver -- simply dump everything to stderr                    */

/*
 * Don't register by default -- as this registers very early in the
 * boot process it becomes the default console.
 *
 * Initialized at init time.
 */

static int use_stderr_console = 0;


static void stderr_console_write(struct console *console, const char *string, unsigned len) { generic_write(2 /* stderr */, string, len, NULL); }

Contributors

PersonTokensPropCommitsCommitProp
Gerd Knorr31100.00%1100.00%
Total31100.00%1100.00%

static struct console stderr_console = { .name = "stderr", .write = stderr_console_write, .flags = CON_PRINTBUFFER, };
static int __init stderr_console_init(void) { if (use_stderr_console) register_console(&stderr_console); return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Gerd Knorr22100.00%1100.00%
Total22100.00%1100.00%

console_initcall(stderr_console_init);
static int stderr_setup(char *str) { if (!str) return 0; use_stderr_console = simple_strtoul(str,&str,0); return 1; }

Contributors

PersonTokensPropCommitsCommitProp
Gerd Knorr33100.00%1100.00%
Total33100.00%1100.00%

__setup("stderr=", stderr_setup); /* The previous behavior of not unregistering led to /dev/console being * impossible to open. My FC5 filesystem started having init die, and the * system panicing because of this. Unregistering causes the real * console to become the default console, and /dev/console can then be * opened. Making this an initcall makes this happen late enough that * there is no added value in dumping everything to stderr, and the * normal console is good enough to show you all available output. */
static int __init unregister_stderr(void) { unregister_console(&stderr_console); return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Jeff Dike18100.00%1100.00%
Total18100.00%1100.00%

__initcall(unregister_stderr);

Overall Contributors

PersonTokensPropCommitsCommitProp
Gerd Knorr13480.72%116.67%
Jeff Dike3018.07%350.00%
Greg Kroah-Hartman10.60%116.67%
Simon Arlott10.60%116.67%
Total166100.00%6100.00%
Directory: arch/um/drivers
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.