]> git.ipfire.org Git - thirdparty/linux.git/blob - kernel/printk/braille.c
Merge branch 'for-5.2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj...
[thirdparty/linux.git] / kernel / printk / braille.c
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 }