58 lines · 1.0 KB · C
RawDownload
// SPDX-License-Identifier: GPL-2.0#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt #include <linux/kernel.h>#include <linux/console.h>#include <linux/errno.h>#include <linux/string.h> #include "console_cmdline.h"#include "braille.h" int _braille_console_setup(char **str, char **brl_options){	size_t len; 	len = str_has_prefix(*str, "brl,");	if (len) {		*brl_options = "";		*str += len;		return 0;	} 	len = str_has_prefix(*str, "brl=");	if (len) {		*brl_options = *str + len;		*str = strchr(*brl_options, ',');		if (!*str) {			pr_err("need port name after brl=\n");			return -EINVAL;		}		*((*str)++) = 0;	} 	return 0;} int_braille_register_console(struct console *console, struct console_cmdline *c){	int rtn = 0; 	if (c->brl_options) {		console->flags |= CON_BRL;		rtn = braille_register_console(console, c->index, c->options,					       c->brl_options);	} 	return rtn;} int_braille_unregister_console(struct console *console){	if (console->flags & CON_BRL)		return braille_unregister_console(console); 	return 0;}