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