1 // SPDX-License-Identifier: GPL-2.0 2 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt 3 4 #include <linux/kernel.h> 5 #include <linux/console.h> 6 #include <linux/errno.h> 7 #include <linux/string.h> 8 9 #include "console_cmdline.h" 10 #include "braille.h" 11 12 int _braille_console_setup(char **str, char **brl_options) 13 { 14 if (!strncmp(*str, "brl,", 4)) { 15 *brl_options = ""; 16 *str += 4; 17 } else if (!strncmp(*str, "brl=", 4)) { 18 *brl_options = *str + 4; 19 *str = strchr(*brl_options, ','); 20 if (!*str) { 21 pr_err("need port name after brl=\n"); 22 return -EINVAL; 23 } 24 *((*str)++) = 0; 25 } 26 27 return 0; 28 } 29 30 int 31 _braille_register_console(struct console *console, struct console_cmdline *c) 32 { 33 int rtn = 0; 34 35 if (c->brl_options) { 36 console->flags |= CON_BRL; 37 rtn = braille_register_console(console, c->index, c->options, 38 c->brl_options); 39 } 40 41 return rtn; 42 } 43 44 int 45 _braille_unregister_console(struct console *console) 46 { 47 if (console->flags & CON_BRL) 48 return braille_unregister_console(console); 49 50 return 0; 51 } 52